[Galaxy S II General] lindsaytheflint:
Battery issue (AndroidOS "bug") - workaround (3% loss over 9 hours!!!) - final update

Yes, I know, another battery thread. But after scouring many other threads for scraps of information, I feel I still have something to contribute on this widely talked about topic. If you’re not interested, don’t read or write on this thread – save your time, and mine. If it is useful to you, then great, please let us know. Here goes.

Like many people, I’ve been plagued with poor battery life on my SGS2. There are plenty of threads out there discussing how to trace the battery consumption back to the “Android OS” processes, specifically the “events” & “suspend” processes. Unfortunately, once isolating those processes, there’s not much we can do. Some say that when we get Android 2.3.4, battery issues might be solved, however:

My first Android phone was a HTC HD2, which was actually a WinMo phone that some clever people had managed to get a working Android ROM for. I started with Android 2.2.1, and as updates were released, upgraded to 2.2.2, 2.2.3, 2.3.1, 2.3.2, 2.3.3, and then I moved on to a new phone. All throughout these different Android versions, I had excellent battery life. The power draw on standby would be between 4ma – 6ma. (Unfortunately we can’t measure the power draw on our SGS2s.) If my phone was fully charged at night, I would wake about 8 hours later, to around 92% battery left. My SGS2 has more like 40-70% after that timeframe. The HD2 had great battery life before 2.3.4. We can all theorise about whether 2.3.4 will fix the issues, but I don’t know, you don’t know, and life goes on. (Personally, I suspect the Samsung base rather than the Android build, but that’s just a guess.)

So I decided to do a systematic approach to troubleshooting the battery issue on my phone, and identified the following possible causes & possible resolutions, based on other people’s comments, and a bit of logic:

•	Battery itself

•	Battery calibration

•	Data connection

•	Wifi

•	Bluetooth

•	GPS

•	Location-awareness

•	Latitude

•	FastDormancy

•	Phone connection

•	SD card

•	Kernel

•	CPU speed

•	Task killer

•	Live Wallpaper

•	Launcher

•	Widgets

•	Applications

•	Stock vs custom ROM

•	Hard-reset/data-wipe

Some details about my SGS2.I have a lot of applications installed, including the following that are always running (as services):

•	WhatsApp

•	PhoneWeaver

•	Enhanced SMS & Caller ID

•	NetQin Anti-virus

•	Extended Controls

•	Executive Assistant

•	Enhanced Email

•	Droidin

•	Astrid Tasks

•	SystemPanel

•	SwiftKey X Beta

As well as the standard Samsung & Google background services.

I have used various versions of VillainROM, LiteningROM, and am now on CognitionROM 1.06. (All similar battery usage for me.)

I use LauncherPro Plus home launcher, and also have plenty of widgets on my screens:

•	Beautiful Weather

•	Agenda Plus

•	Jorte

•	Extended Controls

•	Elixir (updating every 10 secs)

•	LauncherPro Plus Facebook

•	BBC News

•	SetCPU (updating every 30 secs)

•	4 other miscellaneous small widgets

Ok, so here are my results, after testing most of the possibilities, for at least a couple of hours each, and some of them for longer:

Battery itself

I have 3 batteries, and all perform similarly, high drain occurs.

Battery calibration

I have used a battery calibration app several times, and followed the instructions to the letter, high drain still occurs.

This is however, still a useful process when changing ROMs, to help your battery stats be more accurate.

Data connection (tested for 8 hours multiple times)

Data connection turned off, high drain still occurs.

Wifi (tested for 8 hours multiple times)

Wifi turned off, high drain still occurs.

Bluetooth (I usually keep this off)

Bluetooth turned off, high drain still occurs.

GPS

GPS disabled, high drain still occurs.

Location-awareness

All location-awareness methods disabled, high drain still occurs.

Latitude

Never joined, high drain still occurs.

FastDormancy (tested for more than 8 hours in all 3 modes)

1.	Default settings, high drain still occurs.

2.	Configured for correct settings (my network supports FD) in /data/data/com.android.providers.telephony/databases, high-drain still occurs.

3.	Disabled FD completely, high drain still occurs.

Phone connection (tested for 10 hours)

1.	Set to GSM only, high drain still occurs.

2.	Flight mode enabled (ie all network off), high drain still occurs. This is significant!

SD card

Removed external SD card, high drain still occurs.

Kernel

1.	CF-Root KE7, KE8, KF1, KF2, KF4, high drain still occurs.

2.	Cognition 1.03, 1.04, 1.05, 1.06, high drain still occurs.

CPU speed

Throttled to maximum 800mhz, high drain still occurs.

Task killer

1.	Advanced Task Killer auto-kill when screen off, high drain still occurs.

2.	Advanced Task Killer auto-kill disabled, high drain still occurs.

3.	Advanced Task Killer auto-kill every hour, untested.

Live Wallpaper

I use a LWP that I have written, and am fairly satisfied that the code is efficient, and does not take up any noticeable amount of CPU when the phone is in standby. However, untested.

Launcher

Tried using LauncherPro, high drain still occurs.

Tried using TouchWiz, high drain still occurs.

Widgets

Removed all my widgets, <insert fanfare> high drain disappeared!!!

WiFi Sharing

Not exactly the "Android OS bug", but it can cause other battery drainage issues. I freeze it with Titanium Backup to prevent any grief.

Applications

Untested.

Stock vs custom ROM

Untested.

Hard-reset/data-wipe

I am sceptical of this approach, as it changes too many settings. Yes, everything will be faster, with less issues, more battery life, etc, when you do a data-wipe. However, once you configure everything back to how it was before, you’re in the same boat as when you started, and none the wiser.

So! A couple of important findings:

1.	With Flight-mode enabled, I get poor battery. This pretty much eliminates any possibilities of 2G vs 3G, FastDromancy, and anything else that uses phone/WiFI/BT type stuff.

2.	Widgets are what trigger the issues for me. I use a lot of them, and some of them update frequently. Android should be able to handle this, but something (probably either Android or Samsung code) is adding some battery overhead. This may be fixed by Google or Samsung in the future, but until then, I need a workaround. The next step for me is to add my widgets back in gradually, and see which ones trigger the battery grief. I'll update this thread with my findings regarding which widgets cause me grief, once I have them.

I'm back to having all my location services, data, phone, HSDPA/3G, SD card, and other basic services enabled. The only thing I don't have, is widgets on my homescreen, and battery performance is good.

Hopefully this will be of some help to those people still struggling with battery issues! If you're having battery issues, remove your widgets, monitor for at least a few hours, and report back!

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

Update - 23/06/11

Every night at 10pm, my Data, AutoSync, & WiFi, are all switched off by PhoneWeaver. This should mean that minimal battery life is being used. I still usually get 30-60% drain though, which as we all know, is due to the "Android OS bug".

Last night, after having removed all my widgets, I charged my phone to 98%, and it entered its usual "Night mode" at 10pm. At 7am this morning, it automatically (via PhoneWeaver) went back in to "Home mode", which enabled AutoSync & WiFi. At 7:15am, my alarm went off, woke me up, and I checked the battery usage. It was down to 95%.

That's 3% drainage over 9 hours and 15 minutes!!!

This is the battery life that we should be expecting when we have things like Data & WiFi turned off.

I value my widgets, but I also value battery life. I'm going to keep working to find a decent compromise between the two. In the meantime, if you need battery life now, maybe consider removing some or all of your widgets.

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

Update - 24/06/11

Last night, I re-added all of my widgets except Elixir, charged the phone to 100%, and let my phone enter "Night mode" (Data & WiFi off). Again, 9 hours later, WiFi auto-enabled, sync operations completed, etc. I checked it at 9 hours 15 minutes, and battery remaining was down to 96% - only 4% drop over the 9 hours. Similar to the night before. Very happy with that.

I've done a couple of tests today, and have found that adding the Elixir widget back on, brings back the "Android OS bug" for me. I have a lot of items configured in my Elixir widget (including some that show internal storage usage and SD card usage), and although I had set it to update only every hour, it still seems to trigger the hogging of my CPU by "Android OS". I'm going to try some different configurations of the Elixir widget (as it is a useful app), but at this stage, I've narrowed the battery issue trigger on my phone, to Elixir.

I haven't really heard of any confirmations from anyone else, that removing widgets has helped with their battery issues, so if you do have success with this, please let me know. I doubt it's specific to Elixir, but if you're affected, then the trigger may be something similar on your phone. If you want to test, I suggest the following:

1. Freeze the "Wi-Fi Sharing" app in Titanium Backup, as it commonly causes other battery drain issues. (Use "Wireless Tether" if you need that functionality.)

2. Remove all widgets from your home screen.

3. Turn off Data & WiFi connections.

4. Stop any running foreground applications (such as games etc), or reboot your phone.

5. Charge your phone, and note your battery percentage.

6. Turn off your screen, and leave it off for at least 2 hours.

7. Turn your screen back on, and check your percentage.

8. If there has still been a high drain (any more that 1 or 2%), check your battery usage to see if "Android OS" is the culprit.

9. If it's something else, target that. If it's still "Android OS", then I guess widgets are not your trigger.

10. Let us know whether it worked for you or not!

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

Update - 28/06/11

Probably the last update from me, as my battery usage is nice and stable now, and I have no other information to give.

Happy to hear success stories from a few people - removing widgets has improved their battery life. Obviously we don't want to be removing all of our widgets, as if we wanted to cripple our phones, we'd probably just get evil iPhones, instead of the powerhouse that is the SGSII. For me, I've been able to add all my widgets back in, and narrowed down the drain to Elixir. Fortunately, I've found that I can use Elixir without any issues, as long as I take out the CPU & storage card stats icons. Even though I had it set to update only ever hour, it would still drain my battery way too quickly. I can live without a running commentary on how much free space I have on my SD card, and how much CPU I'm currently using. (SystemPanel gives me all the monitoring I need.)

So if you're still having trouble, my advice is to:

first calibrate your battery with a battery calibration tool (or manually delete your battery stats file)

second, freeze the "Wi-Fi Sharing" app, and

third, check your widgets. Most widgets probably won't impact your battery noticeably, and shortcuts shouldn't either. Once you've tracked down the problem widget(s), try to determine whether you can reconfigure it/them to avoid the drain (perhaps with less updates).

Some battery usage results from posters:

lindsaytheflint - 0.32% per hour, over 9.5 hours, in flight-mode.

JJEgan - 0.08% per hour, over 13 hours, in flight-mode.

sjedwardz - 1.77% per hour, over 22 hours.

So we can get good battery life with these phones, even without 2.3.4, and with only a little bit of tweaking. Obviously, using the phones (i.e. screen on) will (and should) use the battery faster, so the important test is while the phone is in standby. Good luck!