So I’ve been using this app BetterBatteryStats which was published at the XDA-Developers forums. The main function for this app is to show the user how long each app has been keeping a wakelock on the device.
Wakelocks or to be more precise partial wakelocks is a pattern (in fast a class) than helps devs to make sure that important pieces of their code do not get interrupted.
Basically the phone has (simplified, kernel devs don’t shoot) three states:
1.awake with screen on
3.sleeping (that’s you phone favorite state) -chamonix
When staring up the app you come to processes screen
On this screen you can see how much time each process have been using the CPU. Since this not the purpose of the post we’ll skip this part.
Here we can see the different options. The one that’s most useful is the Partial Wakelocks. But just for the sake of it I’ll quickly go through both of the others as well.
In the other screen you can see different statistics of various states, as how long wifi/bluetooth/screen has been on. This is very much like the “Battery History” option in the “Test menu” och Android 2.2 or lower.
The “Kernel Wakelock” shows you what has been keeping the phone awake, as in my case I have had some application not letting my phone sleep for 3 hours and 16 minutes, and my BLN (Back Light Notification) has been active for 56 minutes.
Now to the main subject of this topic, the “Partial Wakelocks” screen.
This screen shows what application is being unkind to the battery and not letting the phone sleep.
This screen shows the application i descending order of time keeping a partial wakelock. In my case I have a app, Netcounter, which doesn’t always like to behave, now it has been keeping my phone awake for 3 hours and 33 minutes. which should be about a third of the time my phone was not in sleep. This percentage is also shown in the red progress bar.
So now you know how to check for the applications that don’t let your phone sleep.