Here you will find details about the views and options of BetterBatteryStatistics are organised. Further information about using BetterBatteryStats is located in the how-tos.


BetterBatteryStats does not collect data in the background but uses references saved at specific times (on specific events):

  • Boot: is saved when your phone boots, deletes all other refrences
  • Unplug: is saved when you unplug your phone from the charger
  • Charged: is saved when your phone gets charged to 100%
  • Screen Off: is saved when the screen of your phone goes off (if watchdog activated)
  • Screen On: is saved when the screen of your phone goes on (if watchdog activated)
  • Custom: is saved when you select the option to save a custom reference from the menu
  • Current: is the current data sample

As long as those events did not occur or after a reboot BBS will notify you about a missing reference. This is not a bug, it's the way BBS was designed


These are the four statistics:

  • Other: shows sleep, awake and screen on as well as other important times
  • Kernel Wakelocks: shows the total time and the count of kernel wakelocks
  • Partial wakelocks: shows the total time and the count of partial wakelocks
  • Alarms: shows the wakeups caused by applications or services
  • Network: shows network stats
  • CPU states: shows CPU states and deep sleep
  • Processes: shows the cpu time (user and system) processes have consumed
  • Package info: shows rights and services for a given package (app): this view can be opened by clicking on any icon from any view

and these are the possible points in time for showing stats (selection "from" and "to" any of those points in time):

  • Charged: when the phone was 100% charged
  • Unplugged: when the phone was unplugged from A/C or USB
  • Custom reference: when a custom reference was set (from the "Actions" menu)
  • Screen off: when the screen was turned off (only when the watchdog is enabled)
  • Screen on: when the screen was turned on (only when the watchdog is enabled and the corresponding preference is set)
  • Boot: when the phone was booted
  • Current: the current point in time

Please note that the data for the timespans gets deleted at boot. To use "From=unplugged" after a reboot you need to plug/unplug your phone.


Group of different indicators about what is consuming the battery. This statistic should always be checked first as it gives a good idea about the draining profile.

A usual profile would show low "Screen on" times compared the "Awake" meaning that partial wakelocks are resonsible for the battery drain as those preventing the phone from going to deep sleep.

  • Deep Sleep: the total time the phone was sleeping
  • Awake: the total time the phone was not in deep-sleep
  • Screen On: the total time the phone was awake and the display was on
  • Phone On: the total time the phone was in a call
  • Wifi On: the total time Wifi was on
  • Wifi running: the total time Wifi was connected to a SSID
  • Bluetooth On: the total time bluetooth was on

Partial wakelocks

The list shows the total time of partial wakelock that was held by an application or by a service during the timespan, the number of wakelocks and the impact in percent. The impact in percent is calculated against the total time on, the awake time or the awake time - screen on time depending on the settings. Usually the impact calculated against the awake time is the most representative as it shows the potential in terms of reducing the awake time. The graph bars show the percentage depending on the preferences (see above).

Even if the total time is low it is important to check for high counts as well. A large number of short wake periods can have a huge impact on the awake time as the phone takes some time to wake up and some time to go back to sleep. This is not shown in this stat. For example let's assume the phone takes 1/2 second to wake up and sleep again. For a wakelock of 10 seconds the resulting awake time would be 11 seconds. For 10 wakelocks of 0,1 seconds the total wakelock time would be as low as 1 second but the awake time would be 11 seconds.

Kernel wakelocks

Like for partial wakelocks as well long running wakelocks as wakelocks with a high count (large number of wakeups) should be taken into acount.


Alarms are events created by applications that may cause wakeups.


Shows the transfered Bytes per application and per network interface.

CPU States

Shows the time spent in each CPU state (frequency) including the time spent in deep sleep.


The list shows the processes and their CPU consumption during the timespan. CPU consumption is expressed in user CPU and system CPU and both times are shown in the total and in the bar graph with different colors.

The watchdog

The watchdog is a feature to help you in analysing when happens when the screen is off. When the watchdog is on a reference 'screen off' is created when the screen turns off. You can also configure the watchdog to create a reference 'screen on' when the screen is turned on (or unlocked). Opionally the watchdog will notify you when screen is turned on and the awake ratio was bigger that the configured awake threshold. In order to avoid too much overhead in processing a duration threshold can be set to disable the watchdog for short screen off times.


  • Preferences
  • Refresh
  • Order By/li>
  • More
    • Dump to file: writes the statistics to /sdcard/BetterBatteryStats.log
    • Set Custom Reference: set a custom begin mark for a statitic
    • History: shows different graphs like battery usage or wakeups (starting from android 2.3)
    • Raw Alarms: shows the alarms since boot
    • Raw Kernel Wakelocks: shows the alarms since boot
    • Raw network stats: the network stats since boot
    • CPU states: the CPU states since boot
  • Help: access to this help was well as the how-to