[Galaxy S III Q&A, Help & Troubleshooting] ElixR:
Hey guys,

I am having a huge battery issues. I am using Slim Bean ROM right now with Yank kernel, however before this I used a newer version of Jellybean CM10.1 and the problem was the same. Before going Jellybean, on ICS, the problem was not there however.

So when WiFi is turned on, "Android OS" eats a huge chunk of battery when the phone is sleeping. It does not always do this, however. Sometimes the battery curve falls slowly, which I would consider "normal" and the same way it was as I knew it f rom ICS. Then randomly during other times, usually after using the phone and doing something with it, the battery curve will suddenly drop drastically even though nothing changed. I'm gonna post some battery screenshots with explanations. I'd be very grateful if someone could take a look and try to see what's wrong.

As you can see here, Android OS takes up the hugest chunk of battery.

The CPU usage and keep awake time is extreme, especially considering how it used to be before that (comparison pics from other ROM are at the end of post).

The screen is barely accounted for any battery usage with as little as 3%

BBS says this:

No idea what any of that means, but I do know that the problem is with WiFi. If I turn it off my battery lasts forever. I even tried using Juice Defender for a little while to only periodically turn on my WiFi every 30 minutes, and it did solve the problem, however I can not keep using Juice Defender as it will always automatically turn off WiFi when the screen goes off, and that is troublesome when I am making calls on Skype or Google Talk. Wakeups which I do not know what they mean, at least the top ones. Seems to be something about the Android OS itself.

And here is a recent picture after again charging to full, where you can clearly see that the problem persists. The slowly falling curve in between the two steep curves is how I expect it to be. However I do not know why the curves suddenly become steep, after pressing the power button to do little things such as checking the time on the lockscreen. I mean it's normal that once I turn the phone on the curve will go down because the screen is on, but I turn it back off right after, yet the curve keeps falling as if I was keeping my phone turned on. Please note that all this time my phone is being in sleep mode 95% of the time, it is not being moved out of WiFi range or anything, it ist just laying there and doing nothing, other than I turn on the screen every now and then to check notifications, not very often though, which seems to trigger the problem. I also made sure nothing is running in the background by long pressing home button and ending everything. The problem whether the sleep-curve with WiFi falls "normally" or "broken" seems to be completely random.

Also last but not least, I will post screenshots of the ROM I used before, CM10 ICS, where the difference is clearly to be seen. This is how I want it to be again but I don't know how.

Here you can clearly see how Android OS uses WAY less CPU and keeps the phone awake for only a fraction of what it is above, even though the way I use it is exactly the same. WiFi running 100% of the phone uptime, with minor usage, and the screen for majority of battery usage just as it's supposed to be. Yes the total phone life is about the same, however the big difference is that as you can see on the last pic I got 3h30 screen on time so basically triple as much as with the problematic battery curve.

I'm really clueless here, I have done several reflashes of Slim Bean and updated the Yank kernel, I also used the official Slim Bean kernel before Yank that still had the exact same problem. I really don't know what causes this other than it somehow has to do with WiFi and Android OS. My only guess is that Jelly Bean works differently with WiFi but it still shouldn't be this extreme as far as I know.

Any help is greatly appreciated. Thanks guys.

EDIT: Problem is fixed, see following post for solution: http://xdaforums.com/showpost.php?p=37987244&postcount=8