Using Better Battery Stats, I’ve managed to nearly double my battery life to 3 days, and I”m pretty darn happy! Indulge my bragging for a bit, and you might get a few ideas that might work for you too!
These days I’m using a Galaxy Nexus mobile phone which I have flashed to the latest Factory Image (worth doing if you’re still stuck on 4.0.x - totally safe these days and completely legit). The phone is great, but I’ve been stuck with a day and a half of battery life, which just isn’t enough for my liking.
If I have a look at the built in battery stats, I’m seeing something like:
Well, a day and a half is pretty cool. But what exactly is “Google Services” and why is it taking so much of my battery? So I set out on a journey to find exactly where all that battery was going. After a bit of googling, a lot of people were recommending blowing $3 on Better Battery Stats to see exactly where all that battery was going.
Better Battery Stats will tell let you in on Partial Wakelocks (apps that are stopping your phone going into deep sleep and saving tons of battery). Best of all, it operates passively off standard phone events, so gathering stats costs you no battery life at all. It will only start gathering after your first charge, but since that was happening every day, it was no problem :-)
So, first look at where things are going:
Ok, so first off my wakelocks are being interruped by the phone app itself. Well, 40 mins of talk time isn’t much for a day or so, but there’s not much I can do about that! The two audio settings are related to Music/Podcasting on the way to work (I love Podkicker Pro so much - go spend another $3 on that while you’re in the store).
But look at the “Count” setting on that NetworkLocationLocator instances! My phone was waking up thousands of times to just let Google know my current location. The first one of those looks “maps related”, and it seems I had Maps running and set to “always update my location” even when I wasn’t using Maps, so that was the first to go.
The second one seems to be related to Google Now (which is also a constant and massive location updater, so that was next on the list). I don’t actually use it, so I just turned it off!
Ok, another day passes, and I’ve got a few more hours, but not the massive win I was after. Next round of tuning.
GTALK_ASYNC_CONN is my next “Google Services” worth having a look at. Looks like Google just can’t handle the fact that something isn’t letting them know where I am all the time! So next I just disabled Google Talk (since I don’t use it anyway). Probably just logging out would be enough, but I was in aggressive tuning mode, so I figured I’d go for the gold.
Bingo! Now I was cooking. Hit the 3 day mark no problems with a similar pattern of phone use:
At this point, my biggest wakelock action was just standard Gmail sync and other actual phone services! Woot! For completeness, this was a picture of my current wakelocks:
Biggest burn is from actual phone calls, listening to Podcasts and download mail! All things that are core to my life that I’m happy to live with. After that I started looking into Kernel wakelocks (wifi, nfc,etc), and realised that leaving Wifi on all the time was better than turning it off overnight (since 3G was probably more expensive to run).
Anyways, I have my 3 days using the services I like, so I’m pretty excited.
Go forth and tune!