2

I've got a Samsung Galaxy SIII which quite suddenly, though it was in airplane mode the whole time, started to drain the battery in less than 6 hours. Updates to several bits of Samsung bloatware were accepted roughly at this time.

The battery monitor built into settings shows 60% of the usage is either "Android System" or "Android OS".

So the question: How can I determine what application or process is behind "Android System" or "Android OS" calls? Is there a way to count process wakeups? Will this require root access?

3

You can easily view processor wake-ups without root access.

  1. If you’re running Android L, processor stats can be viewed by going to Settings > Battery and select an application from the list. Look at the overall percentage of battery used by every app. Watch for apps that have a long ‘Stay awake’ duration that were running in the background. Watch for long GPS durations and lots of mobile data. Long connection times can also bad – if the app was running in the background and didn’t have a reason for being connected. All of these actions consume extra battery power.

  2. If you're running Android 4.3 or earlier, Wakelock Detector (WLD) is a great way to identify processor sleep problems. Look at the duration and number of wake locks. Trepn Profiler also shows wake-locks and allows you to view overall system power consumption. Check the power of your device idle and running various apps.

  3. If you want to view processor wake ups on Android L, use Google’s Battery Historian. I use it to look at apps that keep the processor awake (e.g. wake_locks), the rate of discharge of the battery (e.g. battery level) and app syncing (it's line 5 in the chart). If you’d like to try it, there are installation and usage instructions below:

One-time setup in order to run Battery Historian

  1. Download and install Python 2.7 (if it’s not already installed)
  2. Download battery-historian from GitHub here
  3. Extract historian.py from the .zip file and copy it to the Python2.7 directory

Running Battery Historian

Type the following into the Command Prompt after connecting to an Android 5.x device:

C:\>cd python27
C:\Python27>adb shell dumpsys batterystats --enable full-wake-history
C:\Python27>adb bugreport > bugreport.txt
C:\Python27>historian.py -a bugreport.txt > batterystats.html

Let me know if any of these things help you.

  • Consider not signing your posts with your name. If you want to mention your real name then you may add it in your display name or about me including your rick**..**@gmail.com. :) – Firelord Aug 13 '15 at 17:00
  • Thanks. I appreciate this feedback. I'm relatively new here and won't do this again. – Mobile Power Aug 13 '15 at 18:28
  • For KitKat, which I have, WakeLock detector requires root. – Bryce Aug 14 '15 at 6:09
  • In that case, you may have to go with Battery Historian -- unless you want to root. – Mobile Power Aug 14 '15 at 14:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.