Debugging the Android Battery

Does android battery suck, or is it usage? In short it does suck compared to other popular alternatives(the i range). However the purpose of this post is not to start a witchhunt or rant but to arm you with tools to debug your battery usage. I will help you track down your battery hog(s) and then suggest some methods to tackle them.

There are 4 main causes of battery hogs:

Cell Phone Usage

Display

CPU usage

Sensors like (GPS, Wifi etc)

Lets start with the easy one:

Cell Phone Usage

Cell tower is the one that provides you connectivity, EDGE and 3G. Unfortunately weak signal can cause this to use exorbitant amount of battery. If you are experiencing full battery drain in about 2-3 hours then this is most probably the culprit. First thing to do is go Settings -> About Phone -> Battery Use -> Cell Phone standby. Look @ Time spent without signal. Any number other than 0 is very dangerous. There are no practical solutions to this problem. Search for network and fix it. This will prevent phone from searching network when signal is weak. However this may not work when you go on roaming and if you spend most time out of signal this will still consume battery.

Display

The only downside of having a large screen is that it consumes exponential charge. If you using an LCD screen, your phone is only likely to survive 4-5 hrs of screen on time. This is assuming that you are not performing any CPU intensive task during that period like gaming, video etc. It is highly likely that you will consume 4 hrs of usage out of your phone in the entire day hence its unlikely that your phone will survive more than a day. The only aspect to debug here is if some freaky software or buggy ROM is keeping your screen up. Gingerbread provides you clean interface to check your screen on period. You can use Juice Plotter on non gingerbread phones but it has been known to consume a lot of battery itself. Make sure you only use to to debug your screen and not on a regular basis.

Have a look at your Screen ON time and make sure you are getting around 4 hrs of usage. Any thing less than that means that you have issues with your battery. Look through the CPU Usage and Sensor usage area debug those issues.

Solutions:

If you have an AMOLED screen then choose darker themes while browsing/surfing/wallpapers. A light color pixel consumes about 5.8 times more energy than dark pixel. This method will not work for LCD phones. You can see the impact of changed wall paper using Current Widget. This will tell you how much charge your phone is consuming(wait for couple of min for it to refresh when you change the wall paper).

Choose lower screen brightness in general. Rely on Power control widgets to increase screen brightness when required.

Reduce display timeout to 30sec-1min. Adjust that to a time that is comfortable to you.

CPU usage

Today’s CPU are beast. This means not only they are fast and powerful they consumAndroid allows apps to ask for CPU while not using the screen. e millions of amperes of precious juice(okay maybe not millions). CPU usage is a bit tricky to debug in pre-Gingerbread phones. You are mostly led to superstitious advices to control power usage. You can see as much as 10-20% battery usage overnight when you were not using the screen, this is because Android allows apps to ask for CPU while not using the screen and poorly designed apps continue to update even when they have not been used in a while draining CPU. Enough rant now to function, to debug CPU:

If these two numbers are widely different then you have a problem on your hands. This means that some app is keeping CPU awake even when your screen is off. To find out which app

Launch Spare Parts

Look at battery history and select “Partial Wake Usage”

Now you will see which app is the culprit and eating up CPU.

Now comes the hard part . You can reduce your running time by disabling this app. If the app manufacturer is good, he would have provided you means to reduce its battery usage(Disabling sync, changing sync from push to hourly, reducing data refresh etc). If not then you should uninstall the app and use something else for that purpose. Keep repeating this exercise till your running time is almost equal to your screen on time. You will see radical improvements in your standby time with this exercise which in turn can reduce your charge cycles to as much as 2 days.

Other than choosing good apps which use CPU wisely some suggestions:

Use less push sync in general. True push is only available with Blackberry everybody else is doing a very frequent pull to emulate push, so make sure you don’t use push where its not required.

In my opinion disable auto sync all together and do a manual sync when needed. You can put the auto sync button in your power widget and flick it on and off whenever needed

Use Juice Defender it will give you good usage patterns(disabling sync at night etc).

Solution for Advanced Users: if you need all the apps that sync but still want to reduce your battery usage you can try Set CPU to underclock your CPU. You can also use the inbuilt underclocking baked into the CM7 ROM. This solution will only work if you have rooted your phone and your kernel supports underclocking. Default android kernel comes with OnDemand CPU clocking. CPU almost instantly scales to max frequency(like 1Ghz) from its min frequency(like 245Mhz) when required. You will need this kind of speed for gaming/browsing etc however its not required for sync and other background tasks. Set CPU lets you configure so that

Your CPU scales slowly(Conservating scaling/Power intensive), especially when you have very little battery left

Reduce highest CPU frequency to something like 700 Mhz especially during the night or when the screen is off

Keep in mind however that these solutions can impact your phones performance while rendering pages, gaming etc, so do not reduce cpu frequency or scaling when your screen is on to prevent frustrating experiences.

Sensor usage

If you have reached here then the problem is quite simple shut off all your sensors :). Well Android provides various ways of debugging sensor usage, have a look at your Spare parts => Battery History => Sensor Usage/GPS Usage. If you see a lot of devices are using GPS Sensor you are likely to see a lot of battery loss. Its unfair that android does not let us control which device has access to my location and which does not, I hope they will add that in future versions of android. Meanwhile if you see useless apps tryto access location(mostly to serve relevant ads etc) then you can adopt the following solutions:

Disable both ways to determine your location in Settings => Location and Security. If you really need location then go for “use wireless location” instead of GPS for location. Use GPS only in critical situations where precise location is very necessary

Change Wifi sleep policy (in Settings => Wireless and Networks => Wifi Settings => Menu key => Advanced => Wifi Sleep policy => When screen is off) This will switch off your wifi and turn on mobile network when you are not using the screen. This way your background apps can use your slow mobile network to sync while saving wifi juice.

Turn on “Only 2G network” in (Settings => Wireless and Networks => Mobile Networks) . This will switch off your 3G network and use only 2G which uses much less battery and is much slower. You can also use 2G/3G switcher in power widget to control this if you rely on 3G for browsing.

Share this:

Like this:

Related

8 responses to this post.

Well one important thing to note is to make the NiCd/Lion battery work at their best performance. Few tips would be:

# One of the biggest mistakes that reduces the life of a Nicad/Lion battery is not switching off the charger after the battery is fully charged. To avoid this, one can either follow manufacturer’s instructions as to the recharge time or buy a charger that automatically switches off when the Nicad batteries are fully charged.

# On first run of your new gadget you should do complete charge/discharge cycles of the battery for atleast a week.

Good point. Another reason for frustration with the Android battery is the time it takes to charge. Common batteries charge to 90% very fast(like 30 min) but subsequent charge takes very long(about 2 hrs) so you can always charge your phone to 90-95% and use the phone normally.(advanced roms like CM turn your charge light green as soon as you reach 90% instead of 100)
As for the charge cycles they are great to calibrate your phone in detecting correct battery capacity. Even one charge/discharge cycle can go a long way in calibrating the phone.

What I have noticed is that using the dock to charge the phone, or even to play music kills battery life. If you hook your android device directly to a big speaker, it would do a lot less damage to the juice than putting it up on a dock and pulling up a small speaker. I have tried a lot of things about that too, none of avail.

Look for backgrounds such as Kiddie Blog, pictured right, Reading Books and She’s a Lady.
The more aesthetically pleasing a blog is, through the use of visually stimulating colors and images, the
more apt it is to become a popular blog for readers.