Quick Links

Android has a built-in battery stats tool that shows you what is using your battery. Unfortunately, this tool doesn't provide all the information you need to identify the root causes of poor battery life.

BetterBatteryStats is an app that shows you much more detailed information about what's actually using your phone's battery. With BetterBatteryStats, you can identify exactly which apps and settings are draining your battery.

Getting Started

BetterBatteryStats is available for $2.99 on Google Play, and it's well worth it. If you would like to try before you buy, you can download the app for free from its thread on the XDA Developers forum. Be sure to support the developer and buy the app if you find it useful.

The app will start monitoring after your first charge. Once you have installed the app, you w ill need to charge your phone and then give BetterBatteryStats time to collect data. You can use your phone normally for a few hours, use it for a typical day, or even leave it sitting overnight to see only what your phone is doing when you aren't using it. BetterBatteryStats uses Android's standard events, so it shouldn't use any additional battery power to gather this data.

welcome-to-better-battery-stats

Wakelocks Explained

Your Android phone has three states: Awake with screen on (when you're using it), Awake with screen off (when it's performing actions in the background), and Sleeping.

When you're not using your phone or tablet, you want it to remain in sleep mode as much as possible. Sleep mode consumes very little battery.

However, your phone can't stay in the sleep state all of the time. Apps that need to perform actions in the background use partial wakelocks to keep the phone awake while performing the action. Any app that needs to do anything in the background -- Gmail receiving new mail, a music player playing music with the phone's screen off, or the Contacts app synchronizing your contacts -- all use partial wakelocks to keep the phone awake.

You can see the effect of wakelocks in action by viewing the phone's state information after BetterBatteryStats has had some time to gather data. For example, in the screenshot below, we can see that the phone has been on for over 21 hours. The phone's screen has only been on for 12 minutes in this time, but the phone itself has been awake for nearly two hours.

android-better-battery-stats-sleep-awake-screen-on

Why has the phone spent over an hour and a half awake when we weren't using it? Partial wakelocks kept it awake. We can reduce the amount of time the phone spends awake thereby increase battery life by eliminating wakelocks. (Note that wakelocks just measure time the phone was awake when the screen was off. If you use your phone to listen to music with the screen off, a large amount of awake time with the screen off will be expected and unavoidable.)

Viewing Partial Wakelocks

To view partial wakelocks, tap the Other menu at the top of the app and select Partial Wakelocks. Youwill see a list of actions that caused wakelocks. The app that caused the most wakelocks will appear at the top of the list, so you'll know which problems you need to focus on.

For example, in the screenshot below, we can see several causes of wakelocks: Google Maps automatically updating our location (presumably so Google Now will know where we are), Pocket syncing our unread articles, Twitter syncing new tweets, and the Google+ app syncing new content.

better-battery-stats-wakelocks

Elimanating Partial Wakelocks

With this information, we know what we can do to squeeze more battery life out of our phone. We could disable background location reporting in Google Maps (Google Maps app --> Settings --> Location settings --> Location reporting --> Do not update your location), set Pocket to synchronize articles less frequently (or even use manual syncing), set Twitter to check for new tweets less frequently, and disable the Google+ app's sync feature.

android-disable-background-location-reporting

If we saw Google Talk near the top of this list and never used it, we could sign out of Google Talk to reduce wakelocks. If the app causing wakelocks has a sync feature, set it to sync less often, sync manually, or disable sync entirely (if you never use it).

Of course, the decisions you make here are trade-offs. For example, if Gmail is a big source of wakelocks for you, you could set Gmail to never automatically sync new email. You would only get new emails when you sync manually with the refresh button in the Gmail app and you would never receive notifications for new emails if you did this.

better-bettery-stats-gmail-wakelocks

If there's an app that continues creating wakelocks and you don't use it, you should uninstall it. If you can't uninstall the app because it came with your phone, you can disable it instead. To disable an app, open the Settings screen, tap Apps, swipe over to the All list, and locate the app. Tap the name of the app and tap the Disable button. (You shouldn't use this feature to disable useful apps, as this could cause problems.)

android-disable-built-in-apps

If you're not sure what setting a wakelock is related to, try Googling it. Other users have likely encountered and solved the problem before.


For more battery-life improvement tips, check out our complete guide to maximizing your Android phone's battery life.