Sometimes we see people ask what is the best ROM for a particular device in XDA forums. However, for such a seemingly simple question, there is rarely a simple answer. Questions like this often get ignored, or result in a “try them yourself” type of answer. Initially when I first read about custom ROMs a long time ago I didn’t understand why. Now I think I do. So here is my attempt to answer this question.
What is The Best ROM
“Best” means different thing to different people. For Android custom ROMs, I think they are all trade-offs among the following attributes:
- Stability (e.g. does not reboot unexpectedly)
- Features (e.g. long press back to kill, kill all in recents list)
- Support for customizations (e.g. changing the navigation bar or navigation ring buttons, allowing you to choose your own quick settings, or set something on screen to be transparent)
- Least amount of bugs
- Performance (e.g. smoothness, low response time, high benchmark scores)
- Battery life
In general, the more features and customizations a ROM support, it may have more bugs, and sometimes lower performance. Likewise, certain performance improvements (especially those related to governors) may result in lower battery life, and vice versa. Some performance improvements even have side-effects: a particular Dalvik optimization causes the Android built-in mobile data counter to be wrong. Therefore, there does not exist a Best ROM for everybody.
Direction of ROM Development
Beyond the technical traits mentioned above, the general direction and emphasis the ROM developer chooses also makes a great difference. For example, one very promising ROM I looked at (who was the earliest one that produced a stable and usable Nexus 4 custom 4.2.2 ROM with many features) ignored a customization bug that many users experienced for multiple releases, opting for pushing out new features and internal architectural improvements first. Even the most loyal users stay at an old release just because of that customization bug. While I have the utmost respect for developers for making great things for free, if I were a user that really needs that customization, I simply cannot rely on it.
Another type of (especially kernel) developer makes frequent experimental releases, always with new and bold stuff for users to try out. For users who like to be on bleeding edge, this is exciting. For users who desire stability, this is best avoided.
Some developers attempt to have the largest number of features by integrating all the features from several other ROMS – perhaps it’s not fair saying this but it sounds like a recipe for having even more bugs to me.
To a less extent the developer attitude and their responses to users feedback also makes a difference. I like to see the developer helps users the best they can, instead of saying “I don’t have this problem, so it’s your own problem”.
Finding The Best ROM
Personally, I like a ROM to be absolutely stable and have as few bugs as possible. Therefore, my process of finding the best ROM is:
- Determine what features I need
- Narrow down the selections of ROMs accordingly
- Read the last several pages of users’ responses on xda forums
- If multiple users are saying they have unexpected reboots, move on
- If multiple users confirm a bug that I don’t like, move on
- See how loyal the users are
- Finally, try it out (and repeat for another ROM if necessary)
(Obsolete) The Best ROM for me on Galaxy Nexus (GNex) and Nexus 4
I’m not the kind of person who likes open ending in a movie. So I’m not going to make my choice(s) for ROM a mystery after you read my whole article (hopefully).
My choices are:
rasbeanjelly has several other builds including Nexus 7 “grouper” and Nexus 10 “manta”.
2014 Update for Nexus 5
Since I’ve got the Nexus 5, I’ve tried out another ROM + kernel combination for several weeks and am very pleased with it: