How to resolve poor battery life & battery issues on Android
April 14th, 2012
If your Android device is suddenly experiencing problems with battery life, it’s likely there’s a misbehaving application on your device.
Android smartphones such as the Galaxy S II and HTC One X can sometimes have a bad reputation for battery life. Although both devices are designed to last for an entire day on a single charge, the battery life of the devices can often be compromised by misbehaving applications on the device. The “wakelocks” applied by these applications can cause the battery on the device to drain incredibly quickly, even when it is not in use.
In this article, we build upon the power saving advice and battery saving tips that we have previously provided by providing some additional battery saving tips for Android smartphone owners. We look at how to diagnose when a badly written application is adversely impacting upon your phone’s battery life and how to restore your smartphone back to day-long battery life.
Using Android’s Battery Usage Monitor
In most cases, the causes of poor battery life on Android are misbehaving applications rather than any specific hardware or battery problems. In this way, a 5-minute review of which applications are running on your device can sometimes improve battery life quite substantially. Thankfully, Android provides some built-in features for diagnosing power consumption and managing battery life.
If you own a smartphone running Android 2.3 Gingerbread or Android 4.0 Ice Cream Sandwich, Android features a built in battery usage monitor application. This can be accessed through the “Settings > About Phone > Battery Usage” menu item on Gingerbread or the “Settings > Battery” menu item in Ice Cream Sandwich. The Battery Usage Monitor (pictured below) shows a graph of battery drain as well as a breakdown of which applications have caused battery drain.
The “Battery Usage Monitor” application on Android 2.3 Gingerbread (left) and Android 4.0 Ice Cream Sandwich (right).
The most useful way to use this feature is to tap on the graph at the top of the battery drain graph. This will show an enlarged graph of battery drain (shown below) and how the battery drain corresponds to other factors such as when the phone is awake, when wi-fi is enabled, when the display is turned on and when the phone is charging.
Two examples of what the battery drain graph could look like.
The diagrams above provide an example of what the battery drain graph on your device could look like.
In the example on the left, 60% of our battery drained in 8.5 hours. This means we could expect 14 hours of usage (approximately half a day) before the battery runs out to zero. We note from the bar graphs that the phone remained in the “Awake” state for the majority of the 8.5 hours of the graph, despite the fact the phone was barely in use at the time (the “Screen on” bar is dark for the majority of the time).This is indicative of a misbehaving application: if there is substantially more blue in the “Awake” bar graph than in the “Screen on” bar graph, you most likely have a misbehaving application installed on your device.
After removing these misbehaving applications, our battery drain graph now looks as it does on the right. In this diagram, only 15% of our battery drained in 5.5 hours. This means we could expect 36 hours of usage before the battery runs out to zero.
By removing the misbehaving applications that caused our phone to perpetually remain in the “Awake” state, we have almost tripled the battery life of our device. From lasting just half a day on a single charge before our clean up, our newly “cleaned up” device now lasts for a day and a half on a single charge.
CPU Spy & How Android manages power consumption
As an operating system, Android is incredibly smart in the way that it manages power consumption. Android can dynamically change your smartphone’s processor clock speed depending on how the phone is currently being used. When Android chooses a higher clock speed, it mean that your phone will complete its tasks much faster – however it’ll also mean that more power consumption on the device is increased (battery life is reduced). Lower clock speeds mean that tasks take longer to complete, but power consumption is lower and battery life is extended.
In order to achieve an appropriate trade-off between performance and battery life, Android will automatically choose the most appropriate clock speed for what you want to do. For example, Android could choose to run at a high clock speed when you’re watching video, but a lower clock speed could be chosen when you’re reading e-mails.
When your phone is not actively in use (i.e. its display is off), Android should automatically enter a state called “Deep Sleep”. This is a mode of ultra-low power consumption whereby your phone will continue to listen out for phone calls and new messages but will essentially be “off” otherwise.
The key to ensuring good battery life is to ensure that Android can properly choose the correct clock speed and that your phone will enter the “Deep Sleep” state when not in use. Misbehaving applications can affect the ability of Android to choose the correct clock speed and this is what leads to poor battery life.
The free CPU Spy application from Google Play (pictured below) allows you to see how much time your phone spends in each of these different states. If your phone spends very little time in the “Deep Sleep” state, this is indicative of a misbehaving application.
Finding misbehaving applications using BetterBatteryStats
If your battery problems have only begun recently after installing a new application, it could be fairly obvious as to which application is the culprit. Uninstalling this application may fix your problems instantly. Otherwise, the best way to find misbehaving applications is to use an application called BetterBatteryStats. BetterBatteryStats costs £1.74 from Google Play or is alternatively available as a free download to members of the XDA Developers forum.
Once you’ve installed the BetterBatteryStats application, select the “Partial Wakelocks” menu item. This will present a list of applications on your device that have caused your phone to remain in the “Awake” state. The “wakelock” time is how long that application has prevented your phone from entering the “Deep Sleep” state for. Misbehaving applications will typically stand out fairly clearly here: they will have an incredibly long wakelock time on the order of hours. These are the misbehaving applications that are stopping your phone from entering the “Deep Sleep” state. Uninstalling or removing them will improve your battery life substantially.
On our demo device, an misbehaving application called “com.sec.spp.push.Samsung Push Service” was preventing our device from entering the “Deep Sleep” state. Uninstalling this application tripled the battery life of our device from 14 hours to 36 hours.
There aren’t any misbehaving applications on my system. What else could be the cause of poor battery life?
Please see our general article to extending your phone’s battery life. You can improve the battery life of your phone through various methods such as reducing the brightness of the display and reducing how often your applications synchronise with the web.
My passion is helping people to get the most out of their mobile phone. I've been blogging at Ken's Tech Tips since 2005.
Aside from writing about mobile technology, my interests are in software development, digital marketing and physics. Outside of the blog, I work with numerous technology companies helping them to explain their product and helping them to market it to consumers. Please get in touch for more information.