Android Battery Improvement
// Change Log
Coming Soon - Pictures
Dec 8 2010 - Added section on ROMS, remove apps, and fixed section 4
Dec 6 2010 - Originally began the guide
1.0 - Basic Info
---1.1 - What is the goal of this guide?
---1.2 - Disclaimer
2.0 - Root Not Necessary
---2.1 - Battery Conditioning
---2.2 - Off with WiFi/Bluetooth/3G/GPS
---2.2 - Screen Brightness
---2.4 - Homescreen Tweaks
---2.5 - Disable Sync/Updates
---2.6 - Remove Apps
---2.7 - Flash On Touch
3.0 - Rooted Required
---3.1 - Over/Underclocking
---3.2 - ROMS
---3.3 - Memory Managers/Task Killers
---3.4 - Ad-Blockers
4.0 - Conclusion
---4.1 - Overview
---4.2 - Credits
// 1.0 - Basic Info
// 1.1 - What is the goal of this guide?
We all know the feeling of when you first got your smartphone. It felt like the battery got sucked right out of it. Well a good part of this is because you spend a decent amount of time playing with your phone when you first receive it and lots of people would argue that the battery life is actually pretty solid. Psychology aside, I'm obsessed with getting battery life in all of my wireless devices. I know there are others like me, so I'm here share my experiences and help you out.
// 1.2 - Disclaimer
This is the usually disclaimer. You cannot hold me responsible if anything you do wrecks your phone. None of it should and I do fully endorse all of the behavior I preach in this guide, but I am also not the developer of many of the applications I recommend and cannot guarantee their functionality.
I'll also use this chance to say that I've been using rooted Android since November 2009. I am a Verizon user and I have a decent amount of experience with every single one of their phones. No I have not ever worked for Verizon. I'm simply mentioning this because I might be slightly ignorant when it comes to other Android phones that are not rooted or use another carrier etc...
// 2.0 - Root Not Necessary
// 2.1 - Battery Conditioning
Whether or not discharging your battery is a good thing or does nothing is a pretty intense debate. Honestly, I'll leave it up to you to decide whether or not you want to try it. Essentially discharging your battery is when you let it run completely dead (red LED will light up and it won't be able to boot) and then charge it up fully and leave it charging for a couple hours. People claim this resets the gauge that monitors how much battery is actually left. Some people claim you should do this multiple times a month; some people claim you should only do this when you first get your phone. Do some research, decide on your own. Maybe someone who knows something about batterys can leave a post that fills us in on this topic.
Heat is another aspect to lookout for. Your battery is probably the most sensitive part of your phone, considering even the glass on a lot of these new phones are freakin' gorilla glass. The battery doesn't handle well in the heat, so don't forget your phone in your car while you're in the office etc... You don't have to keep your phone at a perfect temperature, but just don't make it hot enough to fry an egg on.
// 2.2 - Off With WiFi/Bluetooth/3G/GPS
Turning off all these when you aren't using them is a HUGE gain in battery life. If you don't have a Bluetooth device then you should basically never have Bluetooth on. I only have WiFi on while I'm at home. I personally leave 3G on so that I can receive e-mails at all hours because it's really important for me. Unless you have some obligation, turning off 3G helps a ton as well. Some people claim that you should turn off GPS. I'll let it up to you because it basically doesn't do anything unless you're using an application that triggers the GPS.
How do you manage all of these things? Well there are a BUNCH of different great ways to manage all of these. First things first, we'll start off with what's built into Android. You should definitely change your WiFi sleep policy by going to Settings > Wireless & Networks > Wi-Fi Settings. Then press the menu button, go to Advanced and set the Wi-Fi sleep policy to "When screen turns off". Next is to add the Power Control widget on your home screen. This widget lets you manually toggle the settings for quite a few of these options. Next up we've got some sick apps that can automatically handle these settings. Apps like "Juice Defender" and "Power Manager" (I hear "APN droid" is a good app for other carriers also) will let you select what you want when you want it. For example, if I set it to, when the screen is off it'll turn off my WiFi, 3G, Data, GPS, and Bluetooth. Take that a step further and there's an app called Locale that will use the GPS and change these settings dependant on your geolocation. Don't want WiFi on at work? Easy. Point work out on a map and then choose your settings and locale will handle things. Out of sight, out of mind.
// 2.3 - Screen Brightness
This is basically one of the biggest influences on your battery life. Turn your freakin' screen brightness down. I prefer mine on auto, but that does use a bit more battery then if I just left it at a really low option.
CM Users: I use the CyanogenMod ROM/OS (root only), so I have a the ability to make a few settings even more specific on how this adjusts. I suggest you check it out under Settings > CyanogenMod Settings > User Interface > Automatic Backlight.
// 2.4 - Homescreen Tweaks
Live Wallpapers and widgets eat CPU cycles. It's as simple as that. You want better battery life? Use a static image as your background and maybe get rid of a widget or two that you really don't need running all the time. Also the less homescreens: the better. Use folders to store shortcuts to apps. Believe me I used to use 7 home screens now I only use 3 and one of them I can't even think of what to fill it with with; it's always empty.
// 2.5 - Disable Sync/Updates
This is going to be another one that really makes the difference. You honestly don't need half the crap that runs in the background that uses the internet to check for updates etc... Turn off Sync with the Power Control widget (or in settings) when you aren't using it. You should also go to basically ever app and search for a way to turn off them checking for updates etc... Go to the options menu in the Twitter app and set it so that you are only checking for updates every few hours. You don't need the Twitter app searching every 5 minutes to see if you got a new tweet. Likewise with other applications like Facebook, and Gmail (if you don't require your emails instantly). You should also stop the Android Market from searching for updates on its own. Open up Market then press the menu key and go to Downloads. Then press the menu key again and go to Notifications. Select "Do not notify me". Now the market won't drain your battery either. Plus, why would you want apps updating on 3G. It really is a pain. I wait till I'm home and am using WiFi to update apps.
// 2.6 - Remove Apps
Get rid of the apps you don't use. Don't keep apps that you think you'll use some day or that you think are cool. Only keep the applications that you actually use. Lots of these apps run at boot time, which makes your phone take longer to reboot. Not only that, they run in the background sometimes eating away at your battery without you realizing that you every ran them.
Rooted Users: If you're rooted and still have those garbage apps that came on your phone that you can't uninstall like Amazon MP3, Blockbuster, etc... Download a root file explorer app. This will let you edit files located on your phone's root directory. Now all those apps that you can't uninstall are located in /system/app. You'll have to mount the partition (most root file explorers have a button to mount it usually called RO/RW for Read-Only and Read-Write) then you can feel free to delete the applications. Most people recommend that you simply rename the apps you don't want and add ".bak" to the end of their name. Apps aren't that large and really aren't wasting any space. You just want to make sure they don't run. This way you can also restore any of those applications in case you accidentally rename the wrong app.
// 2.7 - Flash on Touch
If you're running at least Android 2.2 (froyo), then you've probably got Adobe Flash installed. It's a cool advantage you have over the iPhone users. Well, when the iPhone user retorts that Flash slows down all of your webpages loading, he's right. But you're not dumb. You can have the best of both worlds. By going to the settings of the Android Browser you can change the "Enable Plugins" option to "On demand". Now whenever anything Flash is on a webpage, it doesn't load it, but instead loads a white box with a green arrow inside. When you touch this box, it loads the Flash content. Voila, Flash content and the fastest mobile browser.
// 3.0 - Root Required
// 3.1 - Over/Underclocking
This is an overclocking forum, so I'm pretty sure this is the entire reason you rooted your phone in the first place. Well using an application like "SetCPU" to create profiles that underclock when the screen is off is a great battery saver. I use the powersave/conservative governor and my two lowest frequency slots for the max and min of my "screen off" profile. This way the phone doesn't lag when someone calls you and the phone has to wake up out of sleep. You should also have another underclocking profile for when your battery gets too hot and for when your battery is running out of juice. I also recommend you use the Conservative or Interactive governors for your CPU during normal use. But yeah, this isn't an overclocking guide.
// 3.2 - ROMs
If you're rooted and have a phone that lets you replace the bootloader, you should definitely look into flashing to a different ROM. ROMs are essentially alternate versions of the Android OS that have been chopped apart, had features added, and optimized. Some are built from the original stock ROMs that come with your phone and others are built from the Android Open Source Pack (AOSP) which is directly released by Google. I strongly recommend AOSP-built ROMs because they will have the latest patches from the Android community that aren't important enough to cause Android to get a complete update, but do add some very nice features/fixes.
I HIGHLY suggest you use CyanogenMod if your device is supported. It is by far the most popular and strongly backed AOSP ROM available for Android phones. You will see tremendous performance in every aspect of your phone once you start using it. More info on CyanogenMod can be found here.
// 3.3 - Memory Managers/Task Killers
This is going to be another subject people like to argue over. I'd like to stress that the most common fallacy of Android is that you need a Task Killer. You do not. As of Android 2.2 (froyo), Google dramatically redesigned how the system handles applications and it should not be required. However, what is recommended is Memory Managers. "Autokiller" is my favorite and despite the conotation of its name, it manages memory rather than killing potentially important tasks. However, It does contain a task killer if you desire to use it. I'd suggest you read up on proper settings for your phone because they will differ depending on your amount of RAM. There are a few other applications like "AutoKiller", off the top of my head one is called "minfreemanager".
Clearing your cache is also pretty useful. No point wasting CPU cycles digging through a cache full of worthless information. I'll probably clear mine once a month or so. There are paid apps that do this, but "Cache Cleaner" is a free app that will do the exact same.
// 3.4 - Ad-Blockers
As much as some people are morally opposed to blocking ads, it really does help. I run multiple websites and I know that most of their income to keep existing comes from ads, but resources are fairly scarce on smartphones, and why bother wasting them on content that you don't even want. I use an app called "Adfree". You can take the high road on this one, but if you aren't using the "Flash on Touch" setting, you're really wasting resources.
// 4.0 - Conclusion
// 4.1 - Overview
Well, I sat down and wrote this all at once, so I'm pretty sure I'll think of more things that I've done and add them as I think of them. I'll be sure to answer any questions you may have, but just try not to have them phone specific unless they're about a phone carried by Verizon. Android is a phenominal platform that continues the "open" ideology that really progresses the advancement of technology. While I'd argue it has done poorly in some places such as the kernel, because of its extremely active development and tons of contributors, I don't see these problems lasting very long. Extending the battery life of our devices gives us more time to appreciate all the hard work and design of this OS.
// 4.2 - Credits
Edited by Jimi - 12/8/10 at 1:25pm