As Android users, it seems like we’re on a never-ending quest for better battery life. There are lots of simple things you can do to squeeze more power from your phone. Some of them are useful, but many amount to no more than “turn this off, turn that off, and use your phone less”, which is far from ideal.
But what if you could extend your battery life without interfering with how you use your device? It might just be possible, but — as these are advanced methods — your phone will need to be rooted.
Most stock kernels are optimized by handset manufacturers for a balance between performance, stability, and battery, and they can’t be customized. Custom kernels, on the other hand, are optimized differently. They can be configured manually, and installing one can give your phone a battery boost.
You need a custom kernel that is built for your exact model of phone. ElementalX and franco.Kernel are good starting points, as they both have builds for a large number of devices. The process to flash a kernel is the same as the process to flash a custom ROM. We’re in somewhat advanced territory here, so it’s a good idea to familiarize yourself with that first.
Once you’ve got your custom kernel up and running, you can configure it using one of several apps from the Play Store, including the free Kernel Adiutor, or the paid EX Kernel Manager.
You may notice an immediate difference in speed, smoothness, and battery life on your phone using the custom kernel’s default settings, and it’s worth sticking with those for a while. There are options to tweak the settings further, ranging from the simple to the very technical — and mostly way beyond the scope of this article.
One easy area you can experiment with are the CPU Governors. These dictate how quickly the processor ramps up to maximum speed, and how slowly it drops back down again. Every kernel has several pre-configured governors (albeit tuned differently from one kernel to the next). These include OnDemand and Interactive, which both increase the clock speed quickly and drop down slowly (Interactive is the default on Android these days); Performance, which locks the CPU at maximum speed to complete tasks quicker; and Powersave, which locks the CPU at the minimum speed.
Experimenting with CPU Governors has an immediate and noticeable effect on performance. As with all battery life tweaks, the key is to find a balance that works for you.
Underclocking and Undervolting Don’t Extend Battery Life
Flashing a custom kernel also enables you to underclock and undervolt your processor. Both are frequently discussed as battery saving techniques, but they’re quite contentious.
Underclocking — reducing the CPU’s maximum clock speed — is largely discredited. Any gains from having the processor use less power are offset by the fact that it takes longer to complete tasks. A faster processor may use more power, but it completes tasks and then returns to an idle state much quicker.
Undervolting involves setting the processor to use a lower voltage when running at specific frequencies. It sounds compelling, but the benefits are negligible. Undervolting only works when the processor is active, and has no effect on the display, which is the biggest battery drain by some distance.
Reduce Screen Brightness
Speaking of the display being the largest drain on the battery, a simple solution to this is to reduce your phone’s brightness levels.
There are lots of apps that do this. Lux enables you to override the auto brightness levels with your own, even to the point of using a ‘sub-zero’ setting to make the screen darker than it’s allowed by default.
This might not have the desired effect, however, as Lux and other brightness apps tend to make the display darker by placing a gray overlay on the screen. The actual backlight is still using the same amount of power.
A better option is, again, a custom kernel. Most kernels have some level of display output controls, and ElementalX is among the ones that offer a ‘backlight dimmer’ function.
After activating the feature, the minimum backlight level becomes darker than the minimum under the default settings. It won’t be much help in daylight, but if you use your phone a lot in the evenings this could be a big battery saver.
Android 6.0 introduced Doze, a feature that automatically shuts off background apps and services when your phone is not in use. It has been very effective for extending standby times, but it’s not perfect.
Doze only kicks in when the phone is completely idle. It won’t work when your phone is in your pocket — even if you haven’t turned it on or even touched it for an hour — because the phone’s sensors will detect motion. It needs to be stationary. And even, then it will wait for 30 minutes of no use before it checks for motion.
On a rooted phone, you can speed all this up with Naptime. This free app from the Play Store gives you access to the normally hidden Doze settings.
There are 16 options in total, and the app helpfully explains what each one does. You should proceed carefully, making minor tweaks each time, and checking their effects. A good place to start includes changing Inactive timeout (the amount of idle time before the sensors are checked for a lack of motion) from the default of 1800 seconds to 600 (ten minutes), and Idle after inactive timeout (an additional wait after that) to zero. That should help Doze start much sooner.
Naptime also has an Aggressive doze mode that tries to put the phone into an idle state as soon as the screen is turned off. This can potentially interfere with some apps, though, so you’ll need to keep an eye on it if you choose to use it.
Control Background Apps With Amplify and Greenify
The combination of Amplify and Greenify is one of the most effective ways to reign in excessive use of your battery.
Amplify is an Xposed module that takes care of wakelocks. These are when apps prevent your phone from entering deep sleep, and they’re a common cause of unexplained battery drain. In its free version, Amplify addresses the most common system wakelocks that affect most users. The paid option enables you to target individual apps as well.
Greenify is focussed on background apps. It’s a lot smarter than task killers — which are always a bad idea — because it “hibernates” apps when you no longer need them, preventing them from using resources by continuing to do their thing in the background. You just have to select the apps that you want to target, and a few minutes after you switch your screen off, they will be quietly shut down. For many apps, Greenify is smart enough that it won’t even interrupt their notifications.
Greenify is available in root and non-root versions, and even has some Xposed functionality through an in-app purchase.
Tackle Bloat and Resource Hogs
And finally, bloatware. Every Android device comes with numerous additional apps pre-installed, many of which you don’t want and will never use. Yet they’re there, using resources, running on boot, and generally degrading your experience.
Android makes it easy to disable system apps, which also has the effect of hiding them from your app drawer, but this always seems like a bit of a half-hearted compromise. If you don’t want an app, delete it. The best way to do this is with Titanium Backup, which allows you to create a backup of the app first — just in case.
Or, for a more comprehensive solution, find a leaner custom ROM for your phone that has had all the additional junk removed. Most mainstream devices have them, and you can notice benefits in all areas of performance.
Other Advanced Tips
There are so many different factors that can affect battery life; it’s impossible to say which solution will work best for you. Some of the ones listed above should have some effect, and they won’t disrupt your enjoyment of your phone, either.
If you’ve got any root-based battery tips, we’d love to hear them. Have you had great success with a particular kernel, or have you found an app that works wonders? Tell us all about it in the comments below.