Editor’s note: While we are OMG! Ubuntu!, we don’t have to limit ourselves exclusively to Ubuntu news and tips. I know lots of our readers will own an Android smartphone, so in a lot of ways this article is super relevant. That is all.
One of the criticisms Android has received plenty of flak for is its comparatively low battery life compared with other smartphones.
Google’s Larry Page blames third-party applications, and in his words “If you’re not getting a day of Android battery life, there’s something wrong.”
In my case there must have been something wrong, because over the past few weeks I have noticed my battery life to be rather shocking on my HTC Magic. On some days, even with minimal use, my battery would only stretch to a measly five hours before the phone became a rather expensive doorstop, certainly a long shot from HTC’s claim of 420 hours standby time.
Tired of having to charge my phone almost three times a day, I searched the Intertubes for a solution and spent a couple hours tweaking settings – now my battery life more than doubled and I can get around 14 hours on a full charge, depending of course on my usage.
Being the geek at heart I am, I’m running CyanogenMod 6.1 stable (which was actually just released yesterday), based on Android 2.2.1 (Froyo). I rooted my phone earlier this year for a few reasons; mainly so I could get some sweet 3G tethering action going on which meant I could use my Laptop, Netbook or iPad in the middle of a desert.
I was also tired of waiting for Vodafone New Zealand and HTC to send me an Over-the-Air update to Android 2.x, which had been out for a couple of months and no word on when my poor Magic running 1.6 would be catapulted into 2010. As far as I know, the aforementioned companies still haven’t got their A into G and most customers are still stuck on 1.6.
The third reason I rooted and installed CyanogenMod was speed – my Magic is one of the terrible models with a measly amount of RAM and a CPU that wasn’t running at its full potential. This meant an incredibly laggy experience and Android killing off applications when it got low on RAM. Sometimes these applications would be rather vital ones, such as the keyboard when I was typing an email. Not cool.
tl;dr: Most of the instructions below don’t necessarily require you to be running a rooted phone, but it will help if you are.
Disclaimer: Root your phone at your own risk. OMG! Ubuntu! is not responsible if you screw it up and are left with a paperweight.
Enough waffling! Time to get onto the juicy details about maximizing battery life. Here’s what I did:
1. Do a full discharge and clear your battery stats
Basically, the software (read: Android) has an idea of how much juice is left in the battery – over time this measurement can become inaccurate and the software may start telling you the battery is running out when it’s actually not.
To alleviate the problem, discharge your battery completely until the phone shuts off and it won’t turn back on, then charge it back up to 100%.
Rooted users, you can go one step further. Once your phone is recharged to 100%, boot into your recovery of choice and hit up the Wipe option, then “clear battery stats.”
Now unplug your phone and use it as normal until it is fully discharged again, then charge it back up. This will give the software a more accurate idea of the capacity of the battery, and your life should increase dramatically.
2. Reduce the refresh rate for applications
If you have Facebook, Twitter, any News or Weather app, Mail, or anything else that periodically checks the Internet for new information and updates, adjust the settings to a realistic refresh time.
You probably don’t need Facebook to update every 15 minutes, nor do you need to be notified of new Twitter mentions instantly. It may seem crazy, but these services constantly using WiFi or mobile data sucks up a tonne of that precious energy. Change these to a realistic value and enjoy another hour or so of battery life.
3. Turn off Market notifications
In the same vein as the above tip, head to your Android Market, then the Downloads section. Now hit the Menu key on your phone and tap Notifications. Select “Do not notify me” to turn off the auto-checking of updates.
4. Underclock that CPU
This is for rooted users only, and yet another benefit of rooting your phone. If you’re running SetCPU and have your phone overclocked, why not try underclocking it to save some battery?
Set the minimum frequency to the lowest it can go, and then change it to “OnDemand.” SetCPU will automatically flick around the CPU clock speed when it’s needed – 9 times out of 10 (depending on your usage) the phone will be chilling out in your pocket on standby, so you probably won’t need that CPU running over-time.
My average battery temperature reduced from 35C celsius to 24C after I changed the CPU to “OnDemand.”
Note: Be careful when changing settings in SetCPU. I’d highly recommend unchecking the Set on Boot option when playing around, if your phone doesn’t like a certain clock speed and locks up, at least you’ll be able to hard reset and get back to where you are.
5. Disable widgets and live wallpapers
Widgets and live wallpapers use up a bit of juice. If you really want to prolong your phone’s battery, turn them off.
6. Change the WiFi sleep policy
WiFi uses up a tonne of battery, so rather than have it on all the time, why not set it to come on only when you need it?
Hit up Settings > Wireless & networks > WiFi settings and then press the menu key on your phone. Select Advanced, then Wi-Fi sleep policy. Change it to “When screen turns off.”
This will save a tonne of battery. Don’t believe that WiFi is a big hog? Check out what’s using your battery the most by hitting up Settings > About phone > Battery use.
7. Reduce your display brightness and the screen timeout
This should be an obvious one – below WiFi, your screen is the biggest battery hog. Change the brightness to “automatic” if you’re lucky enough to have a phone with a sensor, or reduce it under Settings.
You should also reduce the screen timeout under Settings > Display > Screen timeout.
8. Keep your phone out of the sun
It’s pretty common knowledge that heat degrades battery life exponentially, so don’t leave your phone lying about in the sun* or in the car when you head off to the pub on a warm afternoon.
9. Turn off GPS and Bluetooth when you’re not using them
Pretty self-explanatory. GPS is a battery hog, and chances are you’re not going to be using it 24/7. Same goes for Bluetooth. Turn them off, and enjoy the benefits of a slightly longer battery life.
10. Switch to 2G networks
If you don’t use much data and want your phone to last as long as possible, consider switching to 2G networks only. Under WiFi & network settings > Mobile networks check the option “Use only 2G networks.”
* Applicable to users everywhere except the United Kingdom.