Search This thread

chamonix

Recognized Contributor
Nov 7, 2008
5,048
19,623
Berlin
Google Pixel 6 Pro
Hello guys, never had this occurring before on my Note - PhoneWindowManager.mBroadcastWakeLock. came anybody assist, please? Getting a huge drain once this wakelock appeared...

http://pastebin.com/yRVM2e7A

Here you go: http://grepcode.com/file/repository...r.java#PhoneWindowManager.0mBroadcastWakeLock

This wakelock is abnormally high in your case. Looking at the sources (the AOSP ones can't tell which ones were used to build your android) this wakelock is held while buttons (volume, headset, media button) are processed. The wakelock could be caused by a stuck volume button or a constant pressed button on your headset but also by a defect or stuck button.

Of course a buggy code is not excuded either and you could easily check this in your favorite ROM thread
 
  • Like
Reactions: coolfire

chamonix

Recognized Contributor
Nov 7, 2008
5,048
19,623
Berlin
Google Pixel 6 Pro
Just to tease you guys a little. I'm currently running 1.8 with Tasker plugin for automatically writing dumps, knowledge base caching to reduce overhead and responsiveness and I just started coding a widget. In this release I also aim at providing an alert for awake situations during last screen-off phase and maybe a few other things. I give myself a timebox of max one more week to be feature complete and will start posting release candidates from then,
 

coolfire

Senior Member
Aug 20, 2004
2,039
434
Singapore
Huawei Mate 30 Pro
Here you go: http://grepcode.com/file/repository...r.java#PhoneWindowManager.0mBroadcastWakeLock

This wakelock is abnormally high in your case. Looking at the sources (the AOSP ones can't tell which ones were used to build your android) this wakelock is held while buttons (volume, headset, media button) are processed. The wakelock could be caused by a stuck volume button or a constant pressed button on your headset but also by a defect or stuck button.

Of course a buggy code is not excuded either and you could easily check this in your favorite ROM thread

Wow, thanks a million, mate! Now I realised that last note, the rubber buttons of my case were out of position and hence, kept pressing on my Note's volume buttons. Amazing stuff from you!

Sent from my SGN
 
  • Like
Reactions: chamonix

figgarro

Senior Member
Apr 7, 2009
78
5
Code:
===========
Other Usage
===========
Awake (): 4 h 58 m 45 s  (17925 s) Ratio: 34.0%
Screen On (): 36 m 17 s  (2177 s) Ratio: 4.1%
=========
Wakelocks
=========
FacebookService (com.facebook.katana.Facebook): 10 m 26 s  (626 s) Count:111 1.2%
WimaxService (Android System): 9 m 29 s  (569 s) Count:1128 1.1%
ConnectivityService (Android System): 4 m 9 s  (249 s) Count:2753 0.5%
AlarmManager (Android System): 2 m 26 s  (146 s) Count:2715 0.3%
GTALK_ASYNC_CONN_com.google.android.gsf.gtalkservice.AndroidEndpoint (Google Services): 2 m 3 s  (123 s) Count:971 0.2%
CoreReceiver getWakeLock (com.fsck.k9.K-9 Mail): 1 m 45 s  (105 s) Count:699 0.2%
SyncLoopWakeLock (Android System): 13 s  (13 s) Count:3104 0.0%
CoreService execute (com.fsck.k9.K-9 Mail): 6 s  (6 s) Count:1579 0.0%
*sync*_subscribedfeeds_Account {name=darylfigge@gmail.com, type=com.google} (Google Services): 3 s  (3 s) Count:972 0.0%
CoreService onStart (com.fsck.k9.K-9 Mail): 2 s  (2 s) Count:1305 0.0%
*sync*_com.android.browser_Account {name=darylfigge@gmail.com, type=com.google} ================
Kernel Wakelocks
================
"wibro_wimax_sdio" (): 2 h 36 m 29 s  (9389 s) Cnt:(c/wc/ec)1884/39/1884 6.8%
"mmc_delayed_work" (): 2 h 19 m 58 s  (8398 s) Cnt:(c/wc/ec)2807/0/2807 15.9%
"deleted_wake_locks" (): 1 h 40 m 30 s  (6030 s) Cnt:(c/wc/ec)82792/0/5085 11.5%
"PowerManagerService" (): 45 m 11 s  (2711 s) Cnt:(c/wc/ec)2519/0/0 5.1%
======================
Alarms (requires root)
======================
com.zynga.scramble (): Wakeups: 168

com.zynga.words (): Wakeups: 176


com.facebook.katana (): Wakeups: 176

com.google.android.gsf (): Wakeups: 102
  Alarms: 30, Intent: com.google.android.intent.action.GTALK_RECONNECT
  Alarms: 25, Intent: com.google.android.intent.action.MCS_HEARTBEAT
  Alarms: 18, Intent: com.google.android.intent.action.SEND_IDLE


com.android.phone (): Wakeups: 81
  Alarms: 81, Intent: com.android.internal.telephony.cdma-reconnect

That's a pretty messy dump and I see a lot of things:
- you seem to have had pretty unstable data connection conditions during this reading, leading to a huge number of wakelocks on sync and a high number of reconnects of google talk
- I see a lot of overhead cause by wimax and that seems to be the biggest cause of awake time, both in userland and kernel. Now I don't know wimax enough to tell how efficient / bad it is regarding to battery but under your conditions it seems to kill your phone.

If those are your normal conditions wimax is your problem. Now I don't know if as on 2G/3G you can force another battery friendlier connection type but you should if you can.

If those conditions are not normal you should post another dump so we can look at the profile without that overhead (I see quite some potentiel in the apps you run too)

Thanks for the info, going to make a change with wifi to leave it on when asleep and see if that makes a difference, I don;t have very good signal at home. Also I'm signed out of Gtalk, any other ideas on how to keep that from reconnecting?
 
  • Like
Reactions: BonySoft

pike888

Member
Jul 19, 2010
36
0
my battery usage shows that android os uses more battery than display.
i've installed betterbatterystats, and found out that kernel wakelocks could be the culprit.

under kernel wakelocks those two are on top:

"event4-120"
27m28s (1648s) Cnt: (c/wc/ec)0/0/0 89.8%

"DPRAM"
9m32s (572s) Cnt: (c/wc/ec)1326/0/11325 31.2%

what could be the problem?
 

azrash

Senior Member
Sep 18, 2010
1,221
669
Kuala Lumpur
Thanks for the info, going to make a change with wifi to leave it on when asleep and see if that makes a difference, I don;t have very good signal at home. Also I'm signed out of Gtalk, any other ideas on how to keep that from reconnecting?
running over Wifi ie wifi is set to not sleep is always better in my experience. You can disable the automatic log in for Gtalk. From my experience most of the drain happens due to sync, so I use Tasker to set the sync to be in intervals of 2 hours when I sleep(wifi at home) and I only sync when necessary on mobile data connection

Sent from my HTC Vision using Tapatalk 2 Beta-4
 

Konsyst

Senior Member
Nov 23, 2011
61
3
ConnectivityService

I've looked through my wakelocks and figured out most of them: I've just tried disabling screen lock sounds to get my AudioOut and AudioIn down.
However, I still have ConnectivityService pop up from time to time, and heavily. Would this be similar to a dialer wakelock due to poor reception while travelling and such? It's only started appearing in ICS, I've never seen it in GB.
 

itsLYNDZ

Senior Member
Jul 20, 2010
1,155
22
Last week I noticed my battery went from 60% to 17% over night, even with using JD Ultimate. I was told to use better battery stats, but I am having a hard time understanding any of this. I also dont have time to read 400 pages here. I did a file dump, not sure if it was done correctly. If not, could someone provide step by step instructions? And when is a good time to do this? After my phone has been unplugged all day/night? Thanks!




===================
General Information
===================
BetterBatteryStats version: 1.7.1.0
Creation Date: 2012-03-31 10:39:57
Statistic Type: (3)
Since 8 m 41 s
VERSION.RELEASE: 2.2
BRAND: Samsung
DEVICE: SGH-T959
MANUFACTURER: Samsung
MODEL: SGH-T959
RADIO: unknown
BOOTLOADER: unknown
FINGERPRINT: Samsung/SGH-T959/SGH-T959/SGH-T959:2.1-update1/ECLAIR/UVJFD:user/release-keys
HARDWARE: smdkc110
ID: FROYO
Rooted: true
===========
Other Usage
===========
Awake (): 8 m 41 s (521 s) Ratio: 100.0%
Screen On (): 8 m 41 s (521 s) Ratio: 100.0%
=========
Wakelocks
=========
SyncManagerSyncWakeLock (Android System): 20 s (20 s) Count:5 3.9%
ActivityManager-Launch (Android System): 18 s (18 s) Count:35 3.6%
GmailProviderProviderChangedBroadcastWakeLock (com.google.android.gm.Gmail): 3 s (3 s) Count:2 0.8%
FacebookService (com.facebook.katana.Facebook): 3 s (3 s) Count:1 0.7%
SyncManagerHandleSyncAlarmWakeLock (Android System): 1 s (1 s) Count:44 0.3%
================
Kernel Wakelocks
================
======================
Alarms (requires root)
======================
fahrbot.apps.blacklist (): Wakeups: 12
Alarms: 12, Intent: config_changed

android (): Wakeups: 10
Alarms: 0, Intent: android.intent.action.DATE_CHANGED
Alarms: 8, Intent: android.intent.action.TIME_TICK
Alarms: 1, Intent: com.android.server.ThrottleManager.action.POLL
Alarms: 0, Intent: com.android.service.Watchdog.CHECKUP
Alarms: 0, Intent: android.appwidget.action.APPWIDGET_UPDATE
Alarms: 0, Intent: com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD
Alarms: 1, Intent: android.app.backup.intent.RUN
Alarms: 9, Intent: android.content.syncmanager.SYNC_ALARM

com.google.android.gsf (): Wakeups: 1
Alarms: 0, Intent: com.google.android.intent.action.GTALK_RECONNECT
Alarms: 0, Intent: com.google.android.intent.action.GTALK_HEARTBEAT

com.facebook.katana (): Wakeups: 2
Alarms: 0, Intent: com.facebook.katana.service.75
Alarms: 0, Intent: com.facebook.katana.service.91
Alarms: 0, Intent: com.facebook.katana.service.206
Alarms: 0, Intent: com.facebook.katana.service.93
Alarms: 0, Intent: com.facebook.katana.service.208
Alarms: 0, Intent: com.facebook.katana.service.95
Alarms: 0, Intent: com.facebook.katana.service.97
Alarms: 0, Intent: com.facebook.katana.service.204
Alarms: 0, Intent: com.facebook.katana.service.170
Alarms: 0, Intent: com.facebook.katana.service.89
Alarms: 0, Intent: com.facebook.katana.service.103
Alarms: 0, Intent: com.facebook.katana.service.101
Alarms: 0, Intent: com.facebook.katana.service.63
Alarms: 0, Intent: com.facebook.katana.service.60
Alarms: 0, Intent: com.facebook.katana.service.83
Alarms: 0, Intent: com.facebook.katana.service.157
Alarms: 0, Intent: com.facebook.katana.service.81
Alarms: 0, Intent: com.facebook.katana.service.87
Alarms: 0, Intent: com.facebook.katana.service.85
Alarms: 0, Intent: com.facebook.katana.service.79
Alarms: 0, Intent: com.facebook.katana.service.77
Alarms: 0, Intent: com.facebook.katana.service.4
Alarms: 0, Intent: com.facebook.katana.service.99
Alarms: 0, Intent: com.facebook.katana.service.6
 
Last edited:

Konsyst

Senior Member
Nov 23, 2011
61
3
The dump was only taken after 8m41s; not much can be said from this.
You should reboot your phone, plug in and unplug your charger, and leave your phone on for 4 hours or so without using it, then post a dump.

JD is known to have negative effects on battery life due to it switching radios on and off and keeping the phone awake. Try turning it off and look at the wake times then.

Also, using code tags, or attaching a txt file would be preferable :)
 
Last edited:

jeremysherriff

Senior Member
Nov 8, 2011
1,424
396
Auckland
Last week I noticed my battery went from 60% to 17% over night, even with using JD Ultimate. I was told to use better battery stats, but I am having a hard time understanding any of this. I also dont have time to read 400 pages here. I did a file dump, not sure if it was done correctly. If not, could someone provide step by step instructions? And when is a good time to do this? After my phone has been unplugged all day/night? Thanks!
Code:
===================
General Information
===================
BetterBatteryStats version: 1.7.1.0
Creation Date: 2012-03-31 10:39:57
Statistic Type: (3) 
Since 8 m 41 s 
VERSION.RELEASE: 2.2
BRAND: Samsung
DEVICE: SGH-T959
MANUFACTURER: Samsung
MODEL: SGH-T959
RADIO: unknown
BOOTLOADER: unknown
FINGERPRINT: Samsung/SGH-T959/SGH-T959/SGH-T959:2.1-update1/ECLAIR/UVJFD:user/release-keys
HARDWARE: smdkc110
ID: FROYO
Rooted: true
===========
Other Usage
===========
Awake (): 8 m 41 s  (521 s) Ratio: 100.0%
Screen On (): 8 m 41 s  (521 s) Ratio: 100.0%
=========
Wakelocks
=========
SyncManagerSyncWakeLock (Android System): 20 s  (20 s) Count:5 3.9%
ActivityManager-Launch (Android System): 18 s  (18 s) Count:35 3.6%
GmailProviderProviderChangedBroadcastWakeLock (com.google.android.gm.Gmail): 3 s  (3 s) Count:2 0.8%
FacebookService (com.facebook.katana.Facebook): 3 s  (3 s) Count:1 0.7%
SyncManagerHandleSyncAlarmWakeLock (Android System): 1 s  (1 s) Count:44 0.3%
================
Kernel Wakelocks
================
======================
Alarms (requires root)
======================
fahrbot.apps.blacklist (): Wakeups: 12
  Alarms: 12, Intent: config_changed

android (): Wakeups: 10
  Alarms: 0, Intent: android.intent.action.DATE_CHANGED
  Alarms: 8, Intent: android.intent.action.TIME_TICK
  Alarms: 1, Intent: com.android.server.ThrottleManager.action.POLL
  Alarms: 0, Intent: com.android.service.Watchdog.CHECKUP
  Alarms: 0, Intent: android.appwidget.action.APPWIDGET_UPDATE
  Alarms: 0, Intent: com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD
  Alarms: 1, Intent: android.app.backup.intent.RUN
  Alarms: 9, Intent: android.content.syncmanager.SYNC_ALARM

com.google.android.gsf (): Wakeups: 1
  Alarms: 0, Intent: com.google.android.intent.action.GTALK_RECONNECT
  Alarms: 0, Intent: com.google.android.intent.action.GTALK_HEARTBEAT

com.facebook.katana (): Wakeups: 2
  Alarms: 0, Intent: com.facebook.katana.service.75
  Alarms: 0, Intent: com.facebook.katana.service.91
  Alarms: 0, Intent: com.facebook.katana.service.206
  Alarms: 0, Intent: com.facebook.katana.service.93
  Alarms: 0, Intent: com.facebook.katana.service.208
  Alarms: 0, Intent: com.facebook.katana.service.95
  Alarms: 0, Intent: com.facebook.katana.service.97
  Alarms: 0, Intent: com.facebook.katana.service.204
  Alarms: 0, Intent: com.facebook.katana.service.170
  Alarms: 0, Intent: com.facebook.katana.service.89
  Alarms: 0, Intent: com.facebook.katana.service.103
  Alarms: 0, Intent: com.facebook.katana.service.101
  Alarms: 0, Intent: com.facebook.katana.service.63
  Alarms: 0, Intent: com.facebook.katana.service.60
  Alarms: 0, Intent: com.facebook.katana.service.83
  Alarms: 0, Intent: com.facebook.katana.service.157
  Alarms: 0, Intent: com.facebook.katana.service.81
  Alarms: 0, Intent: com.facebook.katana.service.87
  Alarms: 0, Intent: com.facebook.katana.service.85
  Alarms: 0, Intent: com.facebook.katana.service.79
  Alarms: 0, Intent: com.facebook.katana.service.77
  Alarms: 0, Intent: com.facebook.katana.service.4
  Alarms: 0, Intent: com.facebook.katana.service.99
  Alarms: 0, Intent: com.facebook.katana.service.6
Hi, if you could edit your post above and put [CODE../CODE] tags around the tech info like I have in the quote, it'd be appreciated.

You don't need to read 400 pages, but it would be good to read the first and second posts. But in summary, to get a useful dump file:
  • make sure you grant BBS root access - especially to the alarms view.
  • charge your phone for a bit, then unplug - this creates the "since unplugged" time marker.
  • leave your phone idle for a period of time. 2h is enough. But idle. This should be during a time period that represents your normal day, so if you use tasker or some other profile app, make sure your time period allows your normal activity to be recorded.
  • take a dump file when you are on the "since unplugged" view, and upload here as an attachment.
  • ???
  • profit!
It would be good to take a look yourself and see if you can spot the culprits, also check that each of the section have data in them and none show a message "no reference".
 

itsLYNDZ

Senior Member
Jul 20, 2010
1,155
22
I'm not sure what you mean by tags. I will reboot it tonight and charge till it is full and then do the 4 HR drain tommorrow. Should I just upload the txt file to a site and link it?
 

itsLYNDZ

Senior Member
Jul 20, 2010
1,155
22
I reread the first and second post, and I noticed my alarms portion wasn't populated. My phone is rooted and bbs has root rights. Not site why that isn't populating. I don't have any alarms set tho.
 

Konsyst

Senior Member
Nov 23, 2011
61
3
I'm not sure what you mean by tags. I will reboot it tonight and charge till it is full and then do the 4 HR drain tommorrow. Should I just upload the txt file to a site and link it?

When you hit the reply button, you should see a button that looks like #. Paste the dump into the message box, select all the text with Ctrl-A, then click the # button to show your dump as indicated.

Your alarm isn't populated due to your dump being after 8m. It hasn't had time to be populated.
Alarm doesn't exactly have to do with alarms being set, the AlarmManager process handles many events, which is why they are labelled as such.
 
Last edited:

jeremysherriff

Senior Member
Nov 8, 2011
1,424
396
Auckland
I reread the first and second post, and I noticed my alarms portion wasn't populated. My phone is rooted and bbs has root rights. Not site why that isn't populating. I don't have any alarms set tho.
Edit your post, and then click "go advanced" which will take you to the advanced editor. Highlight all the tech part, and then click the "#" button in the editor/toolbar. It will put "[ CODE]" and "[ /CODE]" at the beginning and end and make it go into a pre-formatted, scrollable box. Just keeps the thread a little tidier. If this still doesn't make sense, ignore it ;)

The alarms section should have been populated in the dump file if you can see any info in the on-screen "alarms" view. There is a bug, @chamonix has it on his list to fix. You might need to go into the super-user app and grant some permissions manually, or uninstall then re-install BBS and make sure to always allow the super-user root access requests.

If you go Menu->more->raw alarms can you see data? If so, then something should be in the dump file too.
 

itsLYNDZ

Senior Member
Jul 20, 2010
1,155
22
Here is the stats after leaving it unplugged overnight. It was at 58% when i woke up it was at 30%. keep in mind I also have the 1900 mah battery, so that is still quite the chunk of battery to be eaten.
 

Attachments

  • BetterBatteryStats-2012-04-01_060737826.txt
    5.3 KB · Views: 19

nam3less

Senior Member
Mar 30, 2012
58
14
Raleigh, NC
www.turbotime.us
Hey chamonix,

I tried pming you but it didn't show up as sent in my user CP. Not sure if I have to make a minimum post number before being able to PM. I've been a long time lurker and just recently signed up.

I have a Galaxy Nexus on Verizon. I do live in an area where my phone regularly sits at -90dbm signal. This is very odd as well since I always have full bars of 4g service.

Like all LTE phones, I tend to drop signal every once in a while but it polls verizon often enough that it's back up within 30 seconds.

While I haven't done any 3g on with 4g toggle testing, I am still concerned with my battery life.

I have the extended battery.

The phone runs on a stock 4.04 kernel with essnetially stock 4.04 rom and the radios from the rom (stock?). Here's a link:

http://xdaforums.com/showthread.php?t=1481613

I have been going through my BBS dump files for the past 5 days or so and have read this entire thread. I wanted to do as much as possible on my end, so you're not left answering the same questions over and over.

I've done things like disabled sync on stuff I don't need (email is the only thing syncing), use the android stock mail client for my gmail, polling at 30 minute intervals, changing autorun settings, making sure i'm signed out of latitude (never use it), disabled some apps I hardly use (google books, google movies, talk, etc) just so they don't get the bright idea of running, disabled and signed out of google talk, got rid of all of my "battery saving" apps (green power), never use wifi, never use bluetooth, and I toggle GPS when I need it for maps. That's all I remember off the top of my head.

However, my battery life is still absolute crap. I get about equivalent battery life now without green power as I do with green power so I'd say there has been an improvement but......

Sometimes I'll get an awake time of 8 minutes in 4 hours (not too bad, but i know it can be lower), other times, it's 8 minutes in 2 hours. Both of these cases are with the phone simply idle (reboot phone, turn screen off, let it sit to get dump).

I checked my kernel wake locks and the major ones I am getting, modem_usb_gpio_awake and modem_usb_suspend_block I found to be attributed to the sending and receiving of data when the screen is off. Now, I make sure to back out of all of my applications so that they are closed rather than put in background so I'm not sure where this data transfer is coming from. My twitter client polls every 15 minutes. I don't think I should be getting a count of 200+ from these in 2 hours. This seems like a widespread problem across various kernels and rom combinations so i'm not sure what to do.

My alarms seems to be system alarms and nothing really out of the ordinary, except I noticed that email sometimes has a higher count than once every 30 minutes. My guess is the sync but if sync is off, I don't seem to get any emails :/. Also, despite my best efforts to TURN OFF calendar sync completely, it still has an alarm count of 2-10 every time.

Below is my most recent one from last night. I can send a progression of dump files if you'd like as well in another post.

If there are any screenshots you need, I can create another dump file tonight and take screens for you.

I have your command center app if there are any dumps you need from that as well to accompany any BBS dumps.

Code:
===================
General Information
===================
BetterBatteryStats version: 1.7.1.0
Creation Date: 2012-04-01 09:58:36
Statistic Type: (3) 
Since 9 h 30 m 37 s 
VERSION.RELEASE: 4.0.4
BRAND: google
DEVICE: toro
MANUFACTURER: samsung
MODEL: Galaxy Nexus
RADIO: unknown
BOOTLOADER: PRIMELA03
FINGERPRINT: google/mysid/toro:4.0.4/IMM30B/257829:user/release-keys
HARDWARE: tuna
ID: IMM30B
Rooted: true
===========
Other Usage
===========
Awake (): 13 m 45 s  (825 s) Ratio: 2.4%
Screen On (): 1 m 30 s  (90 s) Ratio: 0.3%
=========
Wakelocks
=========
GpsLocationProvider (Android System): 3 m 53 s  (233 s) Count:150 0.7%
GTALK_ASYNC_CONN_com.google.android.gsf.gtalkservice.AndroidEndpoint (Google Services): 59 s  (59 s) Count:190 0.2%
RILJ (Phone): 53 s  (53 s) Count:127 0.2%
AlarmManager (Android System): 12 s  (12 s) Count:835 0.0%
ActivityManager-Launch (Android System): 10 s  (10 s) Count:110 0.0%
RIL_BIPJ (com.android.bip.BIP): 6 s  (6 s) Count:57 0.0%
Checkin Service (Google Services): 5 s  (5 s) Count:254 0.0%
SMSDispatcher (Phone): 4 s  (4 s) Count:1 0.0%
AudioOut_1 (1013): 3 s  (3 s) Count:1 0.0%
NetworkStats (Android System): 2 s  (2 s) Count:91 0.0%
Event Log Service (Google Services): 2 s  (2 s) Count:22 0.0%
*vibrator* (com.google.android.email.Email): 1 s  (1 s) Count:2 0.0%
GTALK_CONN (Google Services): 1 s  (1 s) Count:166 0.0%
NfcService (com.android.nfc.Nfc Service): 1 s  (1 s) Count:1 0.0%
================
Kernel Wakelocks
================
"modem_usb_suspend_block" (): 6 m 55 s  (415 s) Cnt:(c/wc/ec)504/0/0 1.2%
"modem_usb_gpio_wake" (): 6 m  (360 s) Cnt:(c/wc/ec)428/104/428 1.1%
"alarm_rtc" (): 3 m 11 s  (191 s) Cnt:(c/wc/ec)380/0/48 0.6%
"PowerManagerService" (): 2 m 35 s  (155 s) Cnt:(c/wc/ec)1007/0/0 0.5%
"alarm" (): 1 m 12 s  (72 s) Cnt:(c/wc/ec)724/263/0 0.2%
"radio-interface" (): 60 s  (60 s) Cnt:(c/wc/ec)51/0/0 0.2%
"musb_autosuspend_wake_lock" (): 50 s  (50 s) Cnt:(c/wc/ec)386/16/0 0.1%
"secril_rst_wakelock" (): 46 s  (46 s) Cnt:(c/wc/ec)3/0/0 0.1%
"event2-180" (): 28 s  (28 s) Cnt:(c/wc/ec)389/0/0 0.1%
"suspend_backoff" (): 9 s  (9 s) Cnt:(c/wc/ec)1/0/1 0.0%
"secril_fmt-interface" (): 7 s  (7 s) Cnt:(c/wc/ec)863/0/0 0.0%
"max17040-battery" (): 6 s  (6 s) Cnt:(c/wc/ec)292/0/0 0.0%
"twl6030 adc" (): 3 s  (3 s) Cnt:(c/wc/ec)1485/0/0 0.0%
"secril_rfs-interface" (): 1 s  (1 s) Cnt:(c/wc/ec)7/0/0 0.0%
"efsd-interface" (): 1 s  (1 s) Cnt:(c/wc/ec)4/0/0 0.0%
"KeyEvents" (): 1 s  (1 s) Cnt:(c/wc/ec)1428/0/0 0.0%
"vibrator" (): 1 s  (1 s) Cnt:(c/wc/ec)17/0/0 0.0%
"nfc" ():  (0 s) Cnt:(c/wc/ec)4/0/4 0.0%
"power-supply" ():  (0 s) Cnt:(c/wc/ec)28/0/0 0.0%
"mmc0_detect" ():  (0 s) Cnt:(c/wc/ec)479/0/1 0.0%
"gpio_input" ():  (0 s) Cnt:(c/wc/ec)4/0/0 0.0%
======================
Alarms (requires root)
======================
com.android.phone (): Wakeups: 240
  Alarms: 6, Intent: com.android.internal.telephony.gprs-reconnect.2
  Alarms: 229, Intent: com.android.internal.telephony.gprs-data-stall
  Alarms: 5, Intent: com.android.internal.telephony.gprs-reconnect.1
  Alarms: 0, Intent: com.android.internal.telephony.cdma-reconnect

com.google.android.gsf (): Wakeups: 48
  Alarms: 8, Intent: com.google.android.intent.action.GTALK_RECONNECT
  Alarms: 20, Intent: com.google.android.intent.action.MCS_HEARTBEAT
  Alarms: 1, Intent: com.google.android.intent.action.SEND_IDLE

com.google.android.email (): Wakeups: 40
  Alarms: 40, Intent: com.android.email.intent.action.MAIL_SERVICE_WAKEUP

com.sec.android.internal.ims (): Wakeups: 11

com.android.providers.calendar (): Wakeups: 4
  Alarms: 4, Intent: com.android.providers.calendar.intent.CalendarProvider2

android (): Wakeups: 6
  Alarms: 327, Intent: android.intent.action.TIME_TICK
  Alarms: 1, Intent: com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD
  Alarms: 19, Intent: com.android.server.action.NETWORK_STATS_POLL
  Alarms: 55, Intent: com.android.server.ThrottleManager.action.POLL
  Alarms: 1, Intent: com.android.server.NetworkTimeUpdateService.action.POLL
  Alarms: 5, Intent: android.content.syncmanager.SYNC_ALARM

Some things I noticed in here that are odd:

--Checkin Service (signed out of latitude and location NOT ENABLED, as well as toggling GPS). Further, I have never set any automatic checkin settings and have deleted data and cache from maps numerous times.

--GPS Location Provider (again, all GPS related things OFF)

-- android email alarm (40) would suggest polling every 30 minutes for 20 hours.... not the case)

-- calendar 4 wakeups (sync is off and I have no events/reminders). I have notifications on, but again, no events/reminders. Maybe disabling notifications?

So this dump was 12 minutes in 9 hours. not too terribly bad. but I'm sure it can be better. I'm staring at my most recent log of idle with 1 text and i'm seeing 6 minutes in 2.5 hours. But it's inconclusive since it falls under daily use so i have some texting and email checking in there.

Most of why I really want to get this nailed down is because I remember you mentioning in the thread that you get 4+ hours of screen time, with 14ish total under heavy use like that, on your Nexus. I would love to have that. Any suggestions on what rom and kernel to use are welcome as well. I'm not vested in one particular kernel or rom.

I'm stuck and unsure of what to do next as everything looks fine to me, but the phone inexplicably drains at 3% an hour with ZERO use.

The odd thing is that CPUSpy will read at 97% deep sleep. However, in the past 2.5 hours, i've dropped 15% battery with 6 minutes of screen use and 12 minutes of awake time total. :/

It seems as though every time I drive somewhere, the battery drains fast. My commute form home to work regularly gives me a 3% battery drop. Could this also have anything to do with the infamous "your battery is lying to you" thing? Most of my commuting happens right after I unplug the phone. I thought the nexus was good about that since the charger didn't trickle, but would actually let the phone drain down to 95% before charging it back to full, while displaying that in real time, thereby making things slightly more accurate.

GPS is off, so i'm unsure why (if at all) it would be polling for location while i'm on the move, thereby draining.

Could it have anything to do with the signal being low, despite having 3-4 bars that is draining it?

If you can, I really do appreciate you taking the time to answer. If you don't have the time and want me to post in the thread, I can do that.

Your BBS app is fantastic! Keep up the awesome work!

If anyone else wants to chime in with suggestions, feel free :)
 
Last edited:

CRXed

Senior Member
Jan 7, 2010
1,980
1,255
@nam3less: When I leave my Galaxy S2 idle, it drains about 2 to 4% in 8 hours!
That's with the extended 2000mAh battery. And even then I have more Awake time than I see in your logs.

Have you tried using the original battery again?
 

jeremysherriff

Senior Member
Nov 8, 2011
1,424
396
Auckland
Hey chamonix,

I tried pming you but it didn't show up as sent in my user CP. Not sure if I have to make a minimum post number before being able to PM. I've been a long time lurker and just recently signed up.

I have a Galaxy Nexus on Verizon. I do live in an area where my phone regularly sits at -90dbm signal. This is very odd as well since I always have full bars of 4g service.

Like all LTE phones, I tend to drop signal every once in a while but it polls verizon often enough that it's back up within 30 seconds.

While I haven't done any 3g on with 4g toggle testing, I am still concerned with my battery life.

I have the extended battery.

The phone runs on a stock 4.04 kernel with essnetially stock 4.04 rom and the radios from the rom (stock?). Here's a link:

http://xdaforums.com/showthread.php?t=1481613

I have been going through my BBS dump files for the past 5 days or so and have read this entire thread. I wanted to do as much as possible on my end, so you're not left answering the same questions over and over.

I've done things like disabled sync on stuff I don't need (email is the only thing syncing), use the android stock mail client for my gmail, polling at 30 minute intervals, changing autorun settings, making sure i'm signed out of latitude (never use it), disabled some apps I hardly use (google books, google movies, talk, etc) just so they don't get the bright idea of running, disabled and signed out of google talk, got rid of all of my "battery saving" apps (green power), never use wifi, never use bluetooth, and I toggle GPS when I need it for maps. That's all I remember off the top of my head.

However, my battery life is still absolute crap. I get about equivalent battery life now without green power as I do with green power so I'd say there has been an improvement but......

Sometimes I'll get an awake time of 8 minutes in 4 hours (not too bad, but i know it can be lower), other times, it's 8 minutes in 2 hours. Both of these cases are with the phone simply idle (reboot phone, turn screen off, let it sit to get dump).

I checked my kernel wake locks and the major ones I am getting, modem_usb_gpio_awake and modem_usb_suspend_block I found to be attributed to the sending and receiving of data when the screen is off. Now, I make sure to back out of all of my applications so that they are closed rather than put in background so I'm not sure where this data transfer is coming from. My twitter client polls every 15 minutes. I don't think I should be getting a count of 200+ from these in 2 hours. This seems like a widespread problem across various kernels and rom combinations so i'm not sure what to do.

My alarms seems to be system alarms and nothing really out of the ordinary, except I noticed that email sometimes has a higher count than once every 30 minutes. My guess is the sync but if sync is off, I don't seem to get any emails :/. Also, despite my best efforts to TURN OFF calendar sync completely, it still has an alarm count of 2-10 every time.

Below is my most recent one from last night. I can send a progression of dump files if you'd like as well in another post.

If there are any screenshots you need, I can create another dump file tonight and take screens for you.

I have your command center app if there are any dumps you need from that as well to accompany any BBS dumps.

Code:
<snipped>

Some things I noticed in here that are odd:

--Checkin Service (signed out of latitude and location NOT ENABLED, as well as toggling GPS). Further, I have never set any automatic checkin settings and have deleted data and cache from maps numerous times.

--GPS Location Provider (again, all GPS related things OFF)

-- android email alarm (40) would suggest polling every 30 minutes for 20 hours.... not the case)

-- calendar 4 wakeups (sync is off and I have no events/reminders). I have notifications on, but again, no events/reminders. Maybe disabling notifications?

So this dump was 12 minutes in 9 hours. not too terribly bad. but I'm sure it can be better. I'm staring at my most recent log of idle with 1 text and i'm seeing 6 minutes in 2.5 hours. But it's inconclusive since it falls under daily use so i have some texting and email checking in there.

Most of why I really want to get this nailed down is because I remember you mentioning in the thread that you get 4+ hours of screen time, with 14ish total under heavy use like that, on your Nexus. I would love to have that. Any suggestions on what rom and kernel to use are welcome as well. I'm not vested in one particular kernel or rom.

I'm stuck and unsure of what to do next as everything looks fine to me, but the phone inexplicably drains at 3% an hour with ZERO use.

The odd thing is that CPUSpy will read at 97% deep sleep. However, in the past 2.5 hours, i've dropped 15% battery with 6 minutes of screen use and 12 minutes of awake time total. :/

It seems as though every time I drive somewhere, the battery drains fast. My commute form home to work regularly gives me a 3% battery drop. Could this also have anything to do with the infamous "your battery is lying to you" thing? Most of my commuting happens right after I unplug the phone. I thought the nexus was good about that since the charger didn't trickle, but would actually let the phone drain down to 95% before charging it back to full, while displaying that in real time, thereby making things slightly more accurate.

GPS is off, so i'm unsure why (if at all) it would be polling for location while i'm on the move, thereby draining.

Could it have anything to do with the signal being low, despite having 3-4 bars that is draining it?

If you can, I really do appreciate you taking the time to answer. If you don't have the time and want me to post in the thread, I can do that.

Your BBS app is fantastic! Keep up the awesome work!

If anyone else wants to chime in with suggestions, feel free :)
Hi, the short answer is yes, the reception strength being at -90db is going to be contributing to the drain, and in a way that BBS isn't going to report (or any other app that I know of).

Your dump file looks great, very clean and there's nothing that I can see that will help.
The only red flag to me is:
Code:
Alarms (requires root)
======================
com.android.phone (): Wakeups: 240
  Alarms: 6, Intent: com.android.internal.telephony.gprs-reconnect.2
  Alarms: 229, Intent: com.android.internal.telephony.gprs-data-stall
which I believe is to do with the 4g drops and re-polling you mentioned.

In reality, the next thing to try is dropping back to 3g or 2g and seeing how much difference it makes. I have no other suggestions. HTH :)

Edit: Oh, i missed the comment about screen time - is your brightness high?
 

itsLYNDZ

Senior Member
Jul 20, 2010
1,155
22
Any suggestions on mine above? I attached the file rather than coding it, since I really didn't understand that part
 

jeremysherriff

Senior Member
Nov 8, 2011
1,424
396
Auckland
Here is the stats after leaving it unplugged overnight. It was at 58% when i woke up it was at 30%. keep in mind I also have the 1900 mah battery, so that is still quite the chunk of battery to be eaten.
Hi :) Attachments are best!
My first thought was "the phone hasn't been idle". Screen-on time is just over an hour, so you've been using the phone and it's a bit harder to figure out what is background processes vs your own usage.

In regards to wakelocks etc, these three items are all related I think:
Code:
Kernel Wakelocks
================
"mmc_delayed_work" (): 19 m 22 s  (1162 s) Cnt:(c/wc/ec)923/140/923 3.8%
"radio-interface" (): 14 m 1 s  (841 s) Cnt:(c/wc/ec)1256/0/0 2.8%
"svnet" (): 13 m 44 s  (824 s) Cnt:(c/wc/ec)3580/442/3581 2.7%
and they are all about poor reception, dropped data connections, and trying to re-establish data connections. But overall, the wakelocks don't seem to account for the awake time.

One app i noticed in the alarms section is GoSMS - i personally have had trouble with this app and had to change my configuration of it several times before I managed to stop it draining my battery. The main points are:
  • don't have GoSMS enable lights for the notifications
  • don't have it pop a notification box either
  • don't have it repeat notifications (it holds the wakelock the whole time)

Hope this helps ;)
 

Top Liked Posts

  • 2
    Hi all.
    Please kindly help me solve this problem.
    I used adb to grant full permissions as instructed by the application.
    But I still can't use it when the app displays "Private APIs not grandted" like picture.
    I'm using S22 ultra, Android 13, One UI 5.1
    Many thanks
    Please read the last few pages to know why BBS doesn't work with Samsung devices.
    2
    I used the Search dialog box to search for the same problem as mine but I couldn't find a way to solve it.
    So is there no other way to use it on Samsung phones bro?
    Check THIS post by the dev. Still remains unresolved. Unless the dev is able to come up with something, you are stuck.
    2
    Check THIS post by the dev. Still remains unresolved. Unless the dev is able to come up with something, you are stuck.
    I feel very sad when I hear this. But anyway, thank you very much for your fast support. All the best
  • 3
    Not compatible with the Samsung Galaxy S20 Ultra (Snapdragon)? That's surprising. Anyone else on here have a Galaxy S20 series using Better Battery Stats?
    That is not at all surprising, if you have been following this thread. There are multiple complaints from Samsung owners here. If you search this thread for the OP's posts, you will also find him saying why Samsung devices have an issue.
    2
    Hi guys. I bought a Nothing Phone (2a) and I'm having issues with Google Play Services - at least according to Battery Usage. The battery drain only happens when I'm actively using the phone, it doesn’t happen if it’s on idle. I already disabled "App install optimization" on Google Play Store and every setting I could think of - like Wi-Fi Scanning. I even did a hard reset.

    Now, I'm aware that BBS doesn't fully work in Android 14, but I wanted to give it a shot at least. Alarms is the only section working and it shows a lot of wakeups from android itself, dunno if that's a normal amount or not. I have attached the log and some screenshots. Sorry for the incomplete log, but I would be grateful if anybody has any idea of what is going on. Worst-case scenario I will simply return the phone and order a new one, but I would like to keep trying before resorting to that.

    *edit: I think screen time is bugged on this phone, since Digital Wellbeing shows more hours of screen time - 5h 12min.
    BBS is not intended to analyse in-use drain. That said, your wifi accounted for 75% of the drain which in my opinion is too high. The other alarms look normal for in-use (though I am not an expert on in-use stats).

    Check your wifi. How far away from the wifi were you when you used it? Reset it by switching the router off, wait for 30 seconds and then switch on and check. May be try using mobile data for some time to see whether that drains any less, though normally wifi consumes less power comparatively.

    EDIT:
    Usually the screen is the top most drainer when you look at Battery under Settings whereas in your case it is the wifi. Strange.
    2
    I've read about Samsung problems but anyway, please tell me how to grant permissions (if possible):
    I am on S4 i9506 ks01lte on LOS 20 (unofficial). I did:
    Code:
    adb -d shell pm grant com.asksven.betterbatterystats_xdaedition android.permission.BATTERY_STATS
    adb -d shell pm grant com.asksven.betterbatterystats android.permission.DUMP
    adb -d shell pm grant com.asksven.betterbatterystats android.permission.PACKAGE_USAGE_STATS
    adb -d shell settings put global hidden api policy 1
    Argument expected to be 'default'
    adb -d shell settings put global hidden api policy default
    But I get errors (screenshot).
    I rebooted but it didn't help.

    I installed from F-droid.

    Why this app requires permission to make phone calls and manage them? It seems that it has nothing to do with battery.
    The adb commands are in the same page as in the screenshot. If they don't work, BBS won't work. There is no workaround for these commands AFAIK.
    2
    Check THIS post by the dev. Still remains unresolved. Unless the dev is able to come up with something, you are stuck.
    I feel very sad when I hear this. But anyway, thank you very much for your fast support. All the best
    2
    Dears,

    I hope someone can help me by reading the attached dump file.

    Since some days I have a impressive battery drain. This happened from one day to another after having:
    1. Updated 80 apps
    2. Free up space in the internal drive
    3. Updated time zones of the Samsung Watch

    Thanks to BBS I uninstalled few apps (Facebook Lite, Amazon Music and Investing) but still I have huge battery drain (35% overnight, during the day 40%/h).

    I see many *alarms* wakelocks, but I do not know where they come from.

    Thank you!
    The dump file you attached is not strictly according to requirements. You seem to have used it for 2+ minutes after unlocking but before you saved the file. Please produce another one where the 'screen on' time is in seconds ie save the file as soon as you unlock.

    Apart from that, your mobile signal is poor/moderate most of the time. This is a huge battery guzzler. You also seem to have turned off the wifi. On top of a poor mobile signal, with the wifi turned off, the background downloads/uploads all happened via mobile data. Still more battery drain.

    Please enable wifi while generating the next dump file and if possible, locate your phone where it has better mobile signal.
  • 5475
    I started BetterBatteryStats because I was missing the great battery history that Spare Parts allowed to call on Froyo. It has been a long journey since the first version. BetterBatteryStats provides an insight in following categories:
    - General "other stats "overview: Awake, Deep Sleep, Screen On, Phone On, Wifi On, Wifi Running ratios
    - Kernel Wakelocks
    - Partial wakelocks
    - Alarms/Wakeups
    - CPU States
    - Network stats
    - Process stats with User and System CPU time

    Use so called references BetterBatteryStats shows data for different samples over time:
    - since boot
    - since unplugged
    - since charged
    - since screen off
    - custom references
    - any combination of the above (e.g. from screen off to screen on)

    BetterBatteryStats is calling the "batteryinfo" service of Android to retrieve data already lying there without generating overhead. Since Kitkat Google has revoked the permission for normal apps to access these stats (without valid reasons IMHO). You can read more about that here.

    Fortunately and thanks to @Looki75 there is a way to work around the restrictions intruduced by google in Kitkat and run BBS on non-rooted devices. Please see here for more details.

    BetterBatteryStats has been tested on Froyo, Gingerbread, Honeycomb (3.1, thanks to daveid), ICS, JB, Kitkat and Lollipop on different ROMs and Kernels.

    What are wakelocks and why should you care about them?
    When it comes to Android the most discussed and commented topic that I know is battery drain / battery life. I'm a quite heavy user because I spend a lot of time on the train every day reading my mails, surfing and listening to music but still my phone is off for a long time during the day and while I accept the battery being drained while I use the phone I care about it draining slowly while "doing nothing".

    Wakelocks or to be more precise partial wakelocks is a pattern than helps devs to make sure that important pieces of their code do not get interrupted. Wakelocks are not bad per se, they are a tool. There are many poor implementations that make use of wakelocks and BBS helps making that transparent.
    Caution: do not use and wakelock supressor tools. They will cause an erratic behavior of your phone, causing more harm than good.

    Basically the phone has (simplified, kernel devs don't shoot) three states:
    1. awake with screen on
    2. awake
    3. sleeping (that's you phone favorite state)

    The transitions are from (1) to (2) and finally from (2) to (3). Now as long as you use your phone it's in (1) and does not leave that state as long as you keep using it interactively. If you stop using it the phone is aiming to go to (3) as fast as possible.
    And here's where wakelocks are important: as our phones as smartphones they tend to do background processing. Some of this processing is important like e.g. making a phone call, listening to music or synchronizing your contacts.
    As the phone wants to go from (2) to (3) and on the other hand you don't want to hang up while you are in a call the app keeps hold of a wakelock to prevent that transisiton. When you hang up the partial wakelock gets release and here we go (the phone goes to sleep).

    So partial wakelocks is a tool and it's not something that we should forbid for obvious reasons. Now there are cases when the design on an app is not real life proven (conditions of poor of no converage) and the wakelocks have negative effects because they are held unnecessarily or for too long.
    BetterBatteryStats identifies these wakelocks and using your expertise or the once from our users here you can understand what happens and find a strategy to change that for the better.

    And what about wakeups?
    Wakeups (alarms) is a pattern to be used when an application should to something after a certain period of time (or at a certain time). Again, an alarm is a tool and is nothing.
    On the other hand there are a lot of poor implementations that BBS can help you discover:
    - alarms waking up the device when all the app should do is refresh the screen: in such cases the app uses the wrong type of alarm, there are alarms that are specifically to be used only when the screen is on
    - to frequent alarms: in case of e.g. poor network conditions some apps may use alarms to repeat failed network operations. Doing this too often will cause too many wakeups (and wakelocks for doing the handling)
    - apps that wake up your device when you did not expect any activity while screen is off: you can use the info provided by BBS to contact the dev about such issues

    Try it yourself

    If you need help
    Always add the whole context when asking for help. Most of the times a dumpfile is helpful, sometimes screenshots showing your observations may help as well.

    Before posting a dump please make sure that the references for kernel wakelocks and alarms were processed correctly. Reading a dump takes a few minutes and it would be great if you could not waste the time of whomever studies it, aiming at helping you.
    Generally a dump "since unplugged" is better than "since charged". When you start your analysis make sure to follow following procedure:
    - enable watchdog processing in BBS settings
    - verify from/to references is checked under custom views
    - full charge device then let it run down to ~95%
    - put device to sleep for at least 6 hours (no touchy!)
    - wake device and launch BBS
    - adjust from/to references to 'screen off' and 'screen on'
    - save dumpfile from share menu
    - post resulting log to this thread (or provide cloud link)
    I will not reply to posts with incomplete dumps

    Reporting bugs
    If you want to report a bug please make sure:
    - that you can reproduce the problem
    - explain what the problem is, how you could reproduce it and what is going wrong (a sentence lke "xxxx does not work for me" is a waste of your time and wil be ignored)
    - enable debug in advanced prefernces
    - post a logcat

    A good read about reporting bugs
    Translations
    Starting with 2.0 BBS is getting multi-language. Currently following languages are included:
    - en: main language, maintained by me
    - ru: translation thanks to @gaich
    - cz: translation thanks to @mag01
    - es translation thanks to @vldesco
    - it translation thanks to @code010101
    - hr translation thanks to @seky2205
    - fr translation thanks to @xavihernandez
    - de translation thanks to @Minty123
    - tr translation and other language improvement by @Eleo

    If you want to contribute with a new language please feel free to offer you service and contribute to BBS, by submitting a pull request to the github project with the translated strings.xml. But please be aware of the fact that translation is a continuous work: even if the initial effort is higher there will be unavoidable changes to the english master XMLs that will require regular updates of your translations.

    If you have a recommendation for a free croud-translation service that you would prefer I am open for suggestions.

    Thanks
    To nobnut for donating me a Nexus S for testing
    To nobnut and brandall for their support, encouragements, testing and constructive feedback in the early stages of the development.
    To @Javinotfound or the new icons / logo

    To suku_patel_22, jeremysherriff, Karpfenhai, Tungstwenty, It_ler, Perseus71 and mag01 for their help in this thread and their systematic testing my betas and RCs

    To Entropy512 for providing support and insights about kernel wakelocks and helping making BBS a better tool
    4849
    Release

    Edit 2021-06-13: Google has pulled BBS from GPlay. The given reason is that I use a library (HockeyApp) that allows installations by other means than the GPlay; that is correct except that library is a) deprecated and does not have backend anymore and b) the GPlay edition does not use that library, only the xda-edition does. Anyhow, I am working on a fix

    BetterBatteryStats is available on Google Play (https://play.google.com/store/apps/details?id=com.asksven.betterbatterystats) for what I believe is a fair price. If you like my work and want to support me please fell free to show your gratitude by buying the app.

    Google play users can register to be part of the public beta programme. Selected Release Candidates will be released to google play as part of the beta programm. You can enroll to the beta programme here: https://play.google.com/apps/testing/com.asksven.betterbatterystats

    Follow me on Mastodon to be notified of updates and get insights in new features/developments.

    xda edition: for xda-dev members I provide an always free and fully featured version of BBS (please play fair and do not redistribute the app without my consent).

    Current test-release:

    I have moved to an automated build system (older releases are still attached here) and do the distribution using AppCenter.
    Privacy note
    Access to the downloads does not require you to register to AppCenter (you still can to benefit from neat features like notifications when new releases are available)

    Get release candidates here
    attachment.php







    Changelog

    2.3
    - Full android O support
    - Unrooted devices now fully supported (with perms added using ADB)
    - UI improvements and I18N
    - Better support for substratum theming
    - Fixes based on crash-reports
    - Added application analytics

    2.2.2.0

    Fixed #791: bugs preventing sensor stats to show properly on pre-lolipop devices

    2.2.1.0
    Fixed #787, #788: bugs preventing some stats to show properly on pre-lolipop devices

    2.2.0.0
    Merged translations
    same as RC3

    Older Changelogs


    2.2.0.0RC3

    Fixed sensor report
    Prep for release

    2.2.0.0RC2
    #780: Added proper Sensor Stats

    2.2.0.0RC1
    #659: Renamed "Other" stat to "Summary"
    #398: possibility to add a note when saving a dumpfile
    #682: Alarms details view is now scrollable
    #772: use bolder fonts to comply with design guidelines and make reading on smaller devices easier
    #677: added GPS time (sensors) to Summary
    #777: folded both Text and JSON representations of the dumpfile into one file

    2.2.0.0B6
    #675: watchdog sometimes shows awake > 100%
    #756: added LG G2 Kernel Wakelocks support and more agressive detection of LG G2, G3, G4
    #759: Watchdog toast sometimes get sticky
    #760: Kernel Wakelocks do not substract properly on non-root devices (or with API-mode on)
    #762: alarm do not show icon on non-root devices (or wirh API-mode)

    2.2.0.0B5
    #733: Kernel wakelocks parser for LG G4
    #753: Added option to select the destination directory for dumpfile/locat/etc. (Requires OI FileManager)

    2.2.0.0B4
    #715: introduced snackbars instead of many of the toasts
    #731: fixed layout issues for "old" widgets with RTL languages
    #749: fixed another non-root issue

    2.2.0.0B3
    #211: add sensor data to "other" stats
    #741: improvements on non-root experience (network stats, fixes)
    #748: fixed doze mode counters
    Added sync time to other stats

    2.2.0.0B2
    #734: added doze mode stats (Marshmallow)#744, #747: more fixes for non-rooted usage
    #745: fixed/more accurate Bluetooth stats for Marshmallow


    2.2.0.0B1
    #716: experimental: grant required permissions without having to install system app (requires root)
    #735: fixed parsing of native alarms and API call for Marshmallow
    #736, #737, #738: various FC from gplay crash reports
    #741: improve functionality for non rooted devices (having system app installed)

    2.1.0.0
    No changes from RC6

    2.1.0.0_RC6
    Some more widget tuning
    Merged transations
    2.1.0.0_RC5
    Some widget tuning
    Merged and compacted changelog

    2.1.0.0_RC4
    #720, #721: "Awake" is now consistently "Awake when screen off"

    2.1.0.0_RC3
    I18N
    More work on widget

    2.1.0.0_RC2
    #712: Fixed widget real estate

    2.1.0.0_RC1
    #708: reverted AppOps call back to older working version
    #711: fixed process view sort
    #713: fixed graph series
    See also in-app changelog

    2.1.0.0_B5
    #673: permissions list scroll issue
    Experimental M-preview support
    Transition animations

    2.1.0.0_B4
    #612: kernel wakelocks for LG G3 5.0
    #694: added awake ratio to dashclock
    #699: merged system app changes
    #702: moved to new appcompat
    New Icons by Javi
    2.1.0.0_B3
    #693, 695: fixed crash on 2.3.x devices
    #693: reverted back to "old" (small) system app apk to work around CM/LP 5.1.1 installation isuues
    #696: fixed behavior of the "back" icon on older Android devices

    2.1.0.0_B2
    #671: revert to old AppOps calling method
    #681: fixed rate dialog
    #683: limit widget font size
    #686: string mssing leading to @number being displayed
    #687: widget opacity can be adjusted
    I18N

    2.1.0.0_B1
    New responsive widget
    #510: New System App (no need to update)
    #658: Fixed various crash reports from gplay
    #679: Fixed graphs being off on 5.1
    #405: Fixed widget sometimes not refreshing at screen on

    2.0.0.0
    No functional changes from RC6
    Merged I18Nalized changelogs

    2.0.0.0RC6
    This is the golden release: release notes have been updated for the upcoming 2.0
    #650: semi transparent grey touch feedback for pre-lolipop devices
    - Sorry, no fix for the unthemed dialogs: there is a bug in appcompat to that and I could not find a way around that except rewriting all dialogs and that is too much change at this point in time.

    2.0.0.0RC5
    #632, #633, #634, #635: Fixed package info dialog (colors, label width)
    #639: added arabic (testwise)
    #626: fix (again) for FC on long press using german language

    2.0.0.0RC4
    #626: fixes crash when long-pressing a list item
    #630: added credits for I18N
    #631: hotfix for issue with RC3 on pre-lolipop devices
    2.0.0.0RC3
    #616: no battery graph when all values are 100%
    #617: no changelog showing in RC2
    #618: add info to dumpfile is alarms/kernel wakelocks are from API
    #621, #624: I18N
    #622: material design touch feedback
    #625: FC opening dashclock settings

    2.0.0.0RC2
    #552: fixed wrong style for overflow menu in dark theme
    #609: fixed oblique lines in graphs

    2.0.0.0RC1
    #546: option to force EN-en locale
    #569, #582, #588, #595: more translations
    #583: move *api* out of the title
    #585: optimized load time of graphs
    #586: use white icon for watchdog notifications
    #597: battery graph always shows same data
    #599: FC opening credits screen
    #600: clean up debug info from normal logcat
    #602: fixed watchdog reporting of awake

    2.0.0.0B7
    #491: added frature to import/export preferences
    #540: System App Dialog now includes link to the recovery ZIP as a workaround is in-app install does not work (links to XDA or gplay, depending on version)
    #551: fixed "pinned" battery graph
    #553: lighter cicle gauge and font
    #554: settings screen and white text on the light background that appears after clean start
    #558: make from-to ref spinners suppressable
    #563: more I18N (thanks to gaich and mag01 fpr their hard work keeping up with me changing the strings)
    #564: alarm details dialog title is too dark for dark theme
    #566: add notification bar color for lolipop
    #572: pass the su --context for accessing dumpsys alarm (may cause slowdown, please report on that with supersu version you are using)
    #574: better performance in graphics

    2.0.0.0B6
    #521: make icon size and font size adjustable
    #522: kernel wakelock using API fail on lolipop
    #550: missing strings
    #556: fixed native kernal wakelocks on lolipop
    #557: no translation of array, mote stuff to strings
    2.0.0.0B5
    #360, #529, #534, #539: more externalized strings for I18N
    #387: use of wakelocks with timeouts, because I can
    #511: Themed dialogs
    #517: redesigned graphs
    #527: add SELinux policy to dumpfile
    #532: fixed theme switching issues
    #535: added Czeck, thanks to mag01
    #536, #537, #538: added russian, thanks to gaich
    #531: fixed alarms dialog showing infinite / Hr.
    #545: merged new constants that were causing the wrong stats to be processed

    2.0.0.0B4
    First shot at I18N: implemented german
    #495: cleanup ununsed libs
    #502: cleanup assets
    #518: fixed infinite wakeups per hour in alarms
    #519: re-add battery from/to % to screen (optional)
    #520: alignment of labele/icons
    #523: theme switch only complete after restart
    #524: switched back from cards layout as it takes too much real estate
    #525: notification area invisible by default
    #526: FC after theme switch
    #528: Partial wakelocks show wrong values (thank google for changing the constants again)!

    2.0.0.0B3
    #484, #508: surface information about errors / failures to the UI
    #493: avoid retrieving the battery level from battery info API to reduce load (and avoid service unavailable)
    #497: added dark theme
    #509: added % from/to back to dumpfile
    #512: theme preference slider controls
    #513: fixed empty release notes
    #515: automatically detect SELinux preventing access to dumpsys alarm and fall back to API mode
    #516: fixed alarms showing infinity in gauges
    2.0.0.0B2
    #496: fixed gauges in RAW stats always being 100%
    #499: "since" and white header missing in raw stats
    #504: failed remot to ro after system app install does not report an error anymore since the app was installed correctly
    #505: advanced pref to enable alternate (API) mode for retrieving alarms (and avoid the need for permissive kernel)
    #506: alarm details missing in dumpfile
    Bigger changes under the hood: externalized all preferences to prepare for I18N


    2.0.0.0B1
    It's all new and shiny
    #487: ability to save JSON format from tasker plugin
    New calculation approach to avoid rounding differences
    Simplified / removed unused options from settings
    Removed google analytics

    1.16.1.0B2
    #486: watchdog does not warn

    1.16.1.0B1
    #446, #483: watchdog warns about 100% awake even if reading shows it's not the case
    #481, #482: FC conditions from crash reports
    #485: addedf more comprehensive info about BATTERY_STATS perm and Xposed setting to dumpfile

    1.16.0.0
    no changes from RC6 1.16.0.0_RC6
    #479: attempt to fix failing system app install process on certain devices
    #480: fixed Dashclock settings not opening in xdaedition

    1.16.0.0_RC5
    #475: more speaking text for XPosed module settings
    #476: fixed dashclock API 2 manifest (kudos to DvTonder)
    #477: fixed exception in method to obtain other stats from dumpsys (compat mode)
    #478: fixed alarm parsing error on pre 4.2 versions

    1.16.0.0_RC4
    #469: Fixed network stats parsing error
    #472: Fixed alarm parsing for L preview
    #473: fixed wakelock being expressed in ms on L preview
    #474: fixed sorting of CPU states

    1.16.0.0_RC3
    #470: fixed non null extra passed by certain launchers
    #471: fixed batterystats service name on L preview

    1.16.0.0_RC2
    #464: fixed icon height in list
    #466: if xposed modue is checked in advanced prefs do as if all perms were there (use at your own risk)
    #467: fixed missing icons in network view
    #468: fixed FC condition when creating a logcat

    1.16.0.0_RC1
    #463: added copy to clipboard on long-press
    Merged to master1.16.0.0_B7
    #462: fixed antialiasing of pie gauge to avoid pixelation

    1.16.0.0_B6
    #457: fixed FC on calling permissions
    #458: fixed value of "other" stats gauge being off
    #459: pie gauge brush too large on low density devices
    #460: add setting to disable system app presence (for XPosed module users)
    #461: added setting (display section) to use "old" bar gauge instead of "new" pie

    1.16.0.0_B5
    #452: update to Dashclock API 2.0
    #453: fixed "current" reference not getting updated when BBS is called from tasker
    #454: fixed network stats "lo" not matched to "Mobile"
    #455: merged a few UI changes from the upcoming 2.0 branch
    #456: fixed: when only one reference spinner is shown avoid Toast message
    1.16.0.0_B4
    #426: added occurences per minute/hours in alarms on screen and dumpfile
    #450: fix for memory leak
    #451: revert from JSON the Java serialization of references for better performance (references will be deleted after installation)

    1.16.0.0_B3
    #448: if root is available offer full featured alarms using dumpsys
    #449 avoid flushing cache, imporving performance

    1.16.0.0_B2
    #447: system app has wrong signature

    1.16.0.0_B1
    #427: optimize the root calls for dumpsys if system app installed
    #429: replace java serialization of references with a more flexible JSON serialization
    #435: avoid crashing when appops not available (4.4.2+)
    #437: better resetting of screen counters for non rooted 4.4+ devices
    #439: dumpfile chapters comments reflect need for root
    #440: better support for root (does not require to be enabled in advanced prefs anymore)
    #441: offer to install as system app on 4.4+ is root available
    #443: alarm does not require root anymore
    #446: watchdog notification should never report more than 100%


    1.15.0.0
    Same as RC8 except the release notes

    1.15.0.0_RC8
    #432: make sure to ask for su rights right after enabling root features
    #433: hint that the system app should be uninstalled before uninstalling BBS

    1.15.0.0_RC7
    #430: better fix for blocking root access
    #431: fix for install as system app when package comes from gplay
    A few changes in the popup for kitkat user at first run
    Bump in version number causes references to be deleted at first run

    1.15.0.0_RC6
    #430: fixed blocking call if trying to install as system app without having root features enabled

    1.15.0.0_RC5
    #428: force mediascanner after saving files
    Recreated icons in all densities

    1.15.0.0_RC4
    #421: Another attempt to fix the xxxhdpi icon
    #426: fied missing process stats on kitkat
    Fixed other stats not refreshing properly on kitkat

    1.15.0.0_RC3
    Fixed the way we manage system apps

    1.15.0.0_RC2
    Sharpened xxxhdpi icon
    Added the ability to install BBS as system app (requires root, usefull only for kitkat right now)

    1.15.0.0_RC1
    #424: add proper (error) messages to notify about features not available without root on kitkat.
    Add timing of screen on time when no stats can be retrieved

    1.15.0.0_B6
    #421: added xxhdpi assets
    #423: fixed alarms parsing on 4.3+

    1.15.0.0_B5
    #422: fixed account info obfuscation for new account format coming with kitkat

    1.15.0.0_B4
    #418: re-add process stats to kitkat
    Fix for potentially missed partial wakelocks where uid could not be found

    1.15.0.0_B3
    #419: Package info and icons re-added to kitkat partial wakelocks
    #420: fixe from gplay creashreports
    Added hires icon

    1.15.0.0_B2
    #416: readded missing other stats (kitkat)
    #417: fix for duplicate partial wakelocks

    1.15.0.0_B1
    #414: Fixed error at launch (service not available for kitkat)
    #415: re-added partial wakelocks and very basic other stats (deep sleep only) to kitkat (requires root)

    1.14.0.0
    Updated libs

    1.14.0.0RC1
    #404: Fixed text padding for short time strings
    #407: added app ops for 4.3+ users

    1.14.0.0B2
    #401: added ACCESS_SUPERUSER to manifest permissions
    #402: wrong values in wakelocks with hashed account info caused by hash being applied multiple times

    1.14.0.0B1
    #355: implement a permanent su shell to execute all commands
    Various fixes from gplay crash reports

    1.13.4.0
    Same as B2, no changes

    1.13.4.0B2
    #391 support all implementations of sqlite

    1.13.4.0B1
    Refactoring of database access to avoid locking

    1.13.3.0
    Fix for users having FCs due to database lock problem
    1.13.2.0
    Fix for users having FCs at start

    1.13.0.0
    Unchanged from RC2

    1.13.0.0RC2
    #384: salted the account name before hashing
    Fix for stats not reflecting the combo boxes anymore for some users after a reference refresh

    1.13.0.0RC1
    Fix to make sure spinners do not get out of sync
    #383: Fixed battery / voltage level in dumpfile
    A few typos
    Added timestamp to logcat

    1.13.0.0B5
    #191, #334: Added "share" option for saving/sharing dumpfiles, dmesg and logcat
    #381: fixed database exception occuring sometimes and potentially responsible for the blank stats happening from time to time for some users
    #382: dmesg requires root for newer kernels

    1.13.0.0B4
    Added some logging to debug percentage problem: adb logcat | grep StatsAdapter
    #377: refactored KB handling
    #379: refactored "raw" stats
    Stats row shows interactive areas (glow)


    1.13.0.0B3
    #236: mask account info
    #378: fixed fallback stat in DashClock widget

    1.13.0.0B2
    #376: no icon in process view
    #377: missing KB icon

    1.13.0.0B1
    #367: added dashclock support
    #375: added JSON dumpfile format support

    1.12.4.0
    #372: Widgets do not update on a fresh install
    #373: change default widget fallbacl to "boot"
    #374: refresh spinners and user refresh causes the cache of refs to get flushed/reloaded from data

    1.12.3.0
    #369: small widget uses wrong prefs
    #370: Other stat times/total time incorrect

    1.12.2.0
    #366: fixed FC when creating a dumpfiel from tasker
    Improved logging
    Fixed concurrency problems potentially leading to weird display
    Fixed a caching issue

    1.12.1.0
    Fix migration issues from 1.11 leading to inconsistent stats
    #359: make sure BatteryInfoUnavailableException does not other stats to be shown
    #361: a better fix for battery/voltage using current instead of "to" stat
    #363, #364, #365: fixed different error conditions from crash reports

    1.12.0.2
    Skipped 1.12.0.1
    #356: bug when migrating from 1.11
    #357: to battery % always shows current value

    1.12
    Same as RC12, no changes

    1.12RC12
    #356: fixed empty stats after screen being rotated

    1.12RC11
    #223: active monitoring
    #346: save 'unplugged' ref at first use to avoid empty refs
    #347: pref to diable widgets to be refreshed at screen on
    #344: better fix for errors in parsing network/alarms causing the whole reference to be saved empty

    1.12RC10
    #302: added credits for used libs in app besides git (under help)
    #342, #345: remove log verbosity when debug advanced pref is not enabled for cleaner logcats
    #343: fixed alarms parsing of details for flg= and cmp= (both pre- and post 4.2.2)
    #344: error in parsing network stats causes the reference to be saved empty (potentially a cause of reference shown as not having been created)

    1.12RC9
    #323: pref for saving dumpfile to private storage
    #337: implement 48dp rhythm
    #338: optimize list real estate
    #339 (partially): fixed tiny font for widget being same as small

    1.12RC8
    #341: fixed alarms for android 4.2.2

    1.12RC7
    #327: spinner refresh issues
    #331: sometimes the stats shown do not reflect the spinner selection
    #333: charged and unplugged should not be in the "to" spinner as that makes no sense

    1.12RC6
    #307, #328; widget stops updating and stays blank
    #327: spinner refresh issues
    #329: fallback ref in 1x1 widget is never loaded
    #330: an attempt to fix wakelock issue when su commands are blocked

    1.12RC5
    #326: fixed rate dialog showing at each start
    Some profining
    Less intrusive logging if dedug is disabled in prefs

    1.12RC4
    New readme and rate dialogs
    #325: times in wakeup_sources are a factory 1000 to small

    1.12RC3
    #321: fixed spinner heights
    #322: filter "0" cpu states
    #324: add marker to dumfile if using wakeup_sources

    1.12RC2
    #320: added experimental support for wakeup_sources (newer kernels deprecate /proc/wakelocks)

    1.12RC1
    #318: automatically refresh current when entering the main screen (can be changed in adv. prefs)
    #319: "to ref" is shown by default (can be changed in adv. prefs)

    1.12B9
    #316: FC when calling BBS from watchdog notification
    #317: 2x2 widget showing 0 KWL/PWL

    1.12B8
    #312: Fixed negative CPU percentages
    #313: refresh after events creating new references show inconsistent references (from/to)
    #314: proper migration of default stat type prefs coming from 1.11
    #315: fixed cause of "unknown error"

    1.12B7
    #310: fixed partial and kernel wakelocks always being the same and icons missing
    #311: fixed kb reader thread not retriieving online content

    1.12B6
    Changed the way su operations are processed
    Some fixes regarding the refresh of the spinners
    Make sure all root operations are running in an own thread

    1.12B5
    #308: since boot can not be selected
    Fixed callstack when updating a reference
    Widget now have a lightweight method for obtaining the current data without causing the cache to be updated
    Spinners show references sorted in ascending order
    Fixed spinner not showing all existing references

    1.12B4
    #306: fixed broken dumpfile
    Added pref to show/hide the "reference to" spinner
    Added screen on reference (saved when watchdog is active)
    References are now stored in a database
    From/To references are chronogical
    1.12B3
    #303: invalidate "current" when other refs are saved
    #305: dissapearing refs

    1.12B2
    Some tuning
    #298: Fixed FC on raw alarms
    #299: Watchdog does not report when awake > threshold
    #300: fixed spinner height

    1.12B1
    #187: freeze current time
    #193: add screen brightness states to "other" stats
    #274: copy wakelock to clipboard
    #279: add option to save dmesg
    #286: add mV/h to dumpfile
    #290, 292: typo, wording
    #296: kbreader is now asynchronous and doesn't block UI thread when github is slow

    1.11
    no change from RC8

    1.11RC8
    #289: FC on package info screen for pre-ICS devices

    1.11RC7
    #288: usability issue in permission view fixed

    1.11RC6
    #276: another attempt at fixing scheduled dumpfile creation from tasker
    #287: fixed ratio calculation for battery drain in %/h

    1.11RC5
    #280: added legend to permissions tab
    #283: unticking watchdog option "Screen off" stops the EventHandler service
    #284: added drain per hour to battery drain text on screen and dumpfile

    1.11RC4
    #281: Fixed bad reference on unplug when 100% charged
    #276: fixed dumpfile creation from tasker
    removed delimiter till a configurable version can be provided

    1.11RC3
    A better fix for widgets being updated
    Nicer implementation of package info using a tabbed pager (using ActionBarSherlock)
    Changed in-app help and messages to make the conect of references clearer
    More speaking "missing ref" texts

    1.11RC2
    #277: more prominent delimiter in listview
    fixed calculation of since value

    1.11RC1
    #229: show autorun and other package info like permissions and services, click on the icons
    #279: reverted the time reference for since and calculations back to 1.9.x
    #275: widgets do not always refresh: hack to make sure the widget always get the broadcasts from the launcher, even if the lancher is not complying with standards (see http://stackoverflow.com/questions/7390449/widget-notification-when-homescreen-app-is-restarted)
    yet another attempt to fix since screen off dump incomplete when created at wakeup from taker plugin
    big refactoring (only relevant for the ones reading the code)
    1.10.5
    No changes from RC1

    1.10.5RC1
    Make sure app is not installed to SD (watchdog, widgets, detecting boot and unplug won't work properly)
    Writing references respect "root features" settings
    Fixed error condition in widget (potentially not showing data)
    Refactored broadcast handlers
    Another attempt to fix dumpfile creation in tasker plugin

    1.10.4
    Fixed logcat permission

    1.10.3
    Some changes in widget code
    #270: added option to save logcat from app

    1.10.2
    #263: adv prefs to turn on stats while plugged
    #264: error happening when reading other stats should not skip the whole stats
    #265: reference summary shows data instead of counts (in dumpfile and log)
    #266: difference in "since" time between widget and screen
    #268: error when checking charger status causes exception

    1.10.1
    #261: missing cpu states file causes references to stay empty
    #262: battery level handling causes exception

    1.10
    A few changes in logging
    New ?????

    1.10RC3
    #257: referencea are missing processes
    #258: if debug pref is not checked since shows 0s

    1.10RC2
    #256: silent crash on progress dialog
    #252: a better fix for the FC on enabling root features
    Typo in prefs
    Added drain to on screen battery info

    1.10RC1
    #251: added batter level from/to to screen (and a pref to enable/disable it)
    #252: an attempt to fix the FC on enabling root features
    #254: incomplete (ref missing) dump from tasker
    #255: not systematic crash on creating custom ref

    1.10b7
    #248: added raw CPU states
    #249: ratio of other stats is calculated against something that is smaller than "since"
    #250: when a reference is null all stats should show that there is no reference availble

    1.10b6
    #247: fixed deep sleep sometimes being substracted twice, causing negative values

    1.10b5
    #245: source of "since" is now the reference
    #246: added battery voltage/level from/to to dumpfile
    Removed unneeded API calls (that were to cause to batteryinfo stopping)
    New error handling exposes API errors to the user

    1.10b4
    #243: deep sleep not showing
    #244: no stats when plugged (as some internal registers do not count when plugged, leading to inconsistencies)
    Removed pre-1.9 migration code that may lead refs to be deleted at start
    #235: grey background for bars


    1.10b3
    #234: show icon for stats providing package info
    #8: call application settings when package info is available (click on icon)
    Refactored error handling
    Workaround to avoid SuperUser to obcess about asking for rights

    1.10b2
    #240: removed "test" menu
    #241: fixed nested menu causing FC on SDK<14
    #242: removed froyo specific references as BBS is not depending on Android's implementation of refs anymore

    1.10b1
    #209: added since boot ref
    #227: fallback to since boot if default stat type is not available
    #228: pref to control log level
    #230: two step save of references to avoid empty references if su request times out
    #231, #232: reorganized preferences
    #233: reorganized menu
    #238: process Siyah "deleted: " kernel wakelocks properly
    #239: network stats / alarms are disabled by default, can be turned on in advanced prefs
    1.9.2.1
    #226: reference info to dumpfile

    1.9.2 (|xda only)
    Fixed error condition where "no ref since charged" appeared after a while when a reference was present
    #224: screen on time is too high in "since screen off"

    1.9.1 (@xda only)
    Added more logging to references
    #213: Tasker plugin does not create dumpfiles / custom refs
    #216: more compact CPU state view
    #218, 220, 221: various fixes from Google Play logs



    I maintain A list of features to be implemented and bugs here.

    Below you can find older releases.

    If not required I do not recommend using these as they are not up-to-date with the most current development, features and fixes.
    764
    How-to and FAQ

    How-to
    I have created a GitHub project for the Knowledge Base where the online and in-app help will be maintained as well. You can find the information here:

    The online help: https://better.asksven.io/betterbatterystats/help/
    The how-to: https://better.asksven.io/betterbatterystats/how-to/

    A good how-to by Chris Hoffman published by How-to geek

    Online Hilfe auf Deutsch: http://asksven.github.com/BetterBatteryStats-Knowledge-Base/help_de.html
    How-To auf Deutsch: http://asksven.github.com/BetterBatteryStats-Knowledge-Base/howto_de.html

    The repo: https://github.com/asksven/BetterBatteryStats-Knowledge-Base
    The Knowledge Base Project: http://asksven.github.com/BetterBatteryStats-Knowledge-Base/

    FAQ
    1. Q:Will BBS be fixed to support Kitkat (I get "Services could not be contacted" errors?
    A: Kitkat is supported by BBS starting from version 1.15

    2. Q:Why are partial statitics not available on Kikat?
    A: If you have a rooted phone enable the advanced root features and all will be fine. If you have no root unfortunately you are stuck without Partial Wakelocks as Google has made changes to prevent apps to access that data (see also here)

    3. Q:Why installing BBS as a system app as everything works with root?
    Deprecated: BBS does not require the system app anymore
    A: Starting with Kikat BBS has 3 modes: without root a limited mode provides a minimal set of stats. With root the set of stats is complete but some stats (other, partial wakelocks, processes) still use a workaround. Finally with the system app BBS is fully featured without any workaround.

    4. Q:I have high wlan_rx kernel wakelock. What is it and how to proceed?
    A: This kernel wakelock is caused by Wifi waking up your device. To avoid it you should turn your Wifi off if not using it, use a tool to control your Wifi state or try to find and remove the cause. More here

    5. Q: Google Maps is causing a lot of overhead. Must I freeze it?
    A: no, Karpfenhai wrote step-by-step instructions on how to configure autostarts and the location service to avoid that

    6. Q: Are you aware of the bug in BBS causing SuperUser to ask for su-permissions over and over again
    A: As you said, SuperUser is asking over and over again, it's no BBS bug as BBS only requests su rights. More here

    7. Q: BBS shows "no ref since unplugged"
    A: Starting from 1.9 is is mandatory to plug/unplug after boot to get a "since unplugged" reference to be created. Starting from 1.10 there is anew reference "since boot" and a preference to fall back to that reference if no other is available.

    8. Q: Why can't you just skip deleting the references at boot?
    A: If I could I would. In a nutshell: BBS is a passive monitoring tool; this means it does not cause any overhead collecting data but compares snapshots. Now the disadvantage of this is that it makes no sense to compare values of counters between two references (e.g. "since unplugged" and "current") if the counters were reset in between. In fact that would potentially cause negative values, in every case wrong values.

    9. Q: But is used to work before. Why did you change it?
    A: It didn't work, you just didn't notice. The kernel and Android reset their counters at boot. That means that there is no way to compare counters from before the boot with counters from after.


    10. Q: What do the widget colors / graphics mean?
    A (new round widgets): the legend is displayed if you resize the widget
    A (legacy widgets): For the large widget it's pretty simple. The colors represent the values "Since" (blue), "Deep sleep" (green), "Awake" (yellow), "Screen on" (white), "Kernel wakelocks" (magenta), "Partial wakelocks" (cyan). The 100% is the max of those values.
    For the small widget see here

    11. Q: Where are the dumpfile and logcat saved / how are the files named?
    A: Both files are saved to /sdcard, their names are BetterBatteryStats-.txt and logcat-.txt where timestamp is of the format "yyyy-MM-dd_HHmmssSSS" (starting from 1.12 there is an option in advanced prefs to save those files to the private directory /sdcard/Android/com.asksven.betterbatterystats/files).

    12. Q: Are you aware of the fact that BBS does not work properly for secondary users (Android 4.2)?
    A: BBS works fine for secondary users as long as you don't enable root features. The reason is not BBS but the lack of support of the multiuser feature in the superuser/supersu version you are using.

    13. Q: What is *overflow*?
    *overflow* is a sign that one stat counter was overrun. This may happen if you have not boote your phone since long or if some wakeup/wakelock is very frequent. The only way to see what is hidden behind *overflow* is to reboot and take a fresh reading.

    14. Q: Why is 'screen off' reference not being created?
    A: You have to enable the watchdog for that reference to be created

    15. Q: Even after plugging/unplugging my phone no reference except 'boot' is shown
    A: something is preventing the unplug event to be passed to BBS. You should check for tools like greenify or stamina mode that mask such events and make sure that BBS is whitelisted. On newer Android versions please also make sure that BBS is not "optimized" by Android, under "Settings - Battery Optimization"

    16. Q: What is the watchdog and how does it work?
    A: The wachdog is a feature to help you in analysing when happens when screen is off. When the watchdog is turned on a reference 'screen off' is created. You can also configure the watchdog to create a reference 'screen on'. Opionally the watchdog will notify you when screen is turned on and the awake ratio was bigger that the configured threshold. In order to avoid too much overhead in processing a threshold can be set to disable the computing for short screen off times.

    17. Q: my logcat is empty and says "Unable to open log device '/dev/log/main': No such file or directory"
    A: Check if you have a custom kernel that turns off logging. If not some file permissions may be broken: use the repair permissions function from your recovery

    18. Q: How can I get rid of GSF wakelocks
    A: GSF (google service framework) can not be avoided and in no case it should be frozen. Here are some settings that can help reducing the overhead.

    19. Q: The other stat is wrong. It shows "No data connection" and "No or unknown signal" while was online with Wifi all the time
    A: "No data connection" and "No or unknown signal" refer to your cell data (2G/3G) service. As you have had Wifi on for some time the cell data was turned off, consistent to what the stats say: work as designed

    20. Q: I can not install BBS as a system app. What can I do.
    A: BBS does not require the system app anymore
    A: If you are on a version older than 4.4 you don't need to install BBS as a system app. If you are on 4.4+ you should first try the in app installer. If for some reason it fails you can use the CWM scripts attached to install / uninstall BBS as a system app

    21. Q: I am suffering from a high NLPWakelock time. Is there something I can do about it?
    A: Here's a good summary of what NLP is and how it can be positively impacted (thanks to @Perseus71)


    22. Q: On CM12 based ROMs the launcher crashes when placing a widget. When will this be fixed?
    A: I can not find anything wrong with BBS code and the crash occurs in the launcher, not in BBS. After spending quite some time trying to understand the problem I must conclude that the problem is with CM12 (other ROMs on Lollipop do not have this problem)

    23. Q: I can not or do not want to root my devices but would like to use BBS to gain insight. Can this be done?
    A: The answer used to be "no" but this has now changed. See post #4 for a detailed description on how to proceed.

    24. Q: I can not get BBS to work. How should I proceed to find out the cause
    BBS has no dependency to any root-tool and does not require root to work, it only requires specific permissions that can be granted by:
    - using ADB as described in the FAQ
    - letting the app grant itself the permission if root is available

    25. Q: BBS Shows a permanent notification. Can I remove it?
    The notification is due to the android app model having changed and now requiring apps that run in the background to show themselves. I have put the "background app" notification into a separate channel named "BBS Event Processing" so you can disable it if it bugs you: no other vital notification will be send to that channel

    26. Q: What is this popup saying "Detected problems with API compatibility"?
    For Android 9.0 Pie users getting the "Detected problems with API compatibility (visit g.co/dev/appcompat for more info)" popup error please see this post.

    When diagnosing / analysing there are a few important things to know:
    - the app (advanced settings) shows you whether the permissions were granted or not
    - when checking if any acition had a positive result you should always use raw stats as the default view does a diff between two snapshots, i.e. if one snapshot is missing it may show no results
    - logcat may give you some info about what is going wrong, e.g. the app not being able to contact the battery_info service
    414
    Ref, Hints and blacklist

    Litterature
    Article from the Android PDK about Power Management: http://www.netmite.com/android/mydr...s/power_management.html#androidPowerWakeLocks

    Other useful tools
    The default battery usage (Gingerbread): Settings -> About Phone -> Battery Usage
    The most interesting data is shown when clicking on the graph (bars below the graph). Unjustified "awake" times when display is off is an indicator for rogue apps doing stuff in the background when you think your phone is asleep
    Battery Monitor Widget
    Has a great stat on battery drain over time. I use this tool regularly after leaving my phone alone for 1/2 hour to check how the battery drain looks like against my benchmark of 2-10 mAh average (optimal for my SGS2).

    [android backup service]
    (http://code.google.com/android/backup/index.html). It is a service that offers cloud backup/restore of your settings and offers an API for other apps to do the same (http://developer.android.com/guide/t...ta/backup.html).
    You can turn it off (but will lose the automatic backup) under Setting -> Privacy ->Back up my data.
    Backups are useful though but no need to do it in the cloud, I'd recommend scheduling a regular backup using titanium instead (that's my setting).

    [DataTracker-FD] is fast dormancy. Find the 'secret' codes for your device to turn FD off. *#*#9900#*#* on an SGSII. (contrib. by nobnut)

    [syncmanagerhandlesyncalarm] That service is documented here (http://www.kiwidoc.com/java/l/x/andr.../c/SyncManager) and is responsible for updating the accounts you have under Settings -> Accounts and Sync. High values may come from bad settings (sync too often, huge amounts of data) or poorly written providers.


    [reserved for misbehaving apps]
    166
    You you mind writing all that together (location settings, autostart settings) in one post. I'd like to add that to the FAQ

    I hope i don't forget a thing:D

    -------- -------- -------- -------- --------

    Silencing maps (preventing non user caused wakelocks)

    1. Sign out and /or freeze latitude.
    2. Disable all location based services:

    5dd9f5f8-058d-cb69.jpg


    3. Deny all maps related autostarts using a certain app like Gemini app manager or autostarts from playstore:

    5dd9f5f8-05f9-887c.jpg

    5dd9f5f8-069c-d35f.jpg

    5dd9f5f8-06ab-a78a.jpg


    That's it!

    Additional information:

    -manual startup of maps will work anyhow, don't worry,
    -navigation still works
    -toggling gps on will show your current position on the map.

    If you do it right, your alarm after almost 2 days can look like this:

    5dd9f5f8-07e7-2c11.jpg
    5dd9f5f8-07f5-c526.jpg


    As you can see, maps does not exist!

    Hint: preventing all autostarts from maps should be enough, you probably don't need to get rid of the other stuff, try to start from point 3 in the beginning.
    -------- -------- -------- -------- --------

    Okay with this Sven?

    Tapatalked from my Samsung GT9100