Android Central

You there! Android hacker! Stop screwing around with your battery stats!

OK, if you're not part of the small subset of rooted users who likes to mess around with things they shouldn't, you can probably skip the rest of this story and read something more interesting below. But if you have fiddled with battery stats on your phone, or used any of the rooted "battery calibration" apps in the Android Market, which do the same thing, it's time to stop. Google engineer Diane Hackborn has taken to Google+ to dispel the myth that wiping battery stats can improve your battery life, or the efficiency with which your phone charges.

This file [batterystats.bin] is used to maintain, across reboots, low-level data about the kinds of operations the device and your apps are doing between battery changes. That is, it is solely used to compute the blame for battery usage shown in the "Battery Use" UI in settings. That is, it has deeply significant things like "app X held a wake lock for 2 minutes" and "the screen was on at 60% brightness for 10 minutes."

It has no impact on the current battery level shown to you. It has no impact on your battery life.

So there you have it. If you want better battery life, you're better off trying more basic techniques like keeping tabs on screen brightness or anything that might be running in the background. Or, y'know, buy a bigger battery...

More: +Diane Hackborn

 

Reader comments

Wiping battery stats doesn't improve battery life, says Google engineer

56 Comments

Honestly, I always questioned the people who said it did "improve battery *performance*" - what I believe it DOES do, however - and this seems indirectly supported by the quote - is improve *reporting* of battery performance (i.e. maintains accuracy) for crack-flashers when they're constantly rotating between different ROMs and sets of Apps. The battery's gonna do what it does based on its own intrinsic characteristics, and the draw/load that's put on it over time - ain't no code gonna change that. Keeping a consistent and clean history of what the battery is doing and how it's reacting to that load is what wiping of batterystats.bin is all about, in my opinion.

Whenever I flash a new ROM I always clear my battery stats so I can try to get accurate statistics. I figured that it would affect the REPORTED battery life remaining and battery used by each app. It never even crossed my mind that wiping battery stats could improve my battery life.

There is one question I still have: When I reboot my phone, sometimes my reported battery life will drop from my actual remaining life to 20-30%. This is especially common if I reboot the phone by taking my battery out. Afterwards, the battery lasts just as long as if the reported battery life were correct, but my phone will continue to report the lower battery life.

I thought that clearing the battery stats might fix this. Any ideas?

According to Diane, the stats are automatically reset every time you reach 100% charge, so clearing them is superfluous in any event.

The battery stats do in fact decide when your phone thinks its battery is about to die. I do not fully discharge and charge my batteries every day, and so the Android battery stats eventually decide that my battery is nearly empty when the voltage is still at (say) 3.8 Volts (more than half full). The phone is then put into an "emergency only" type of mode.

I am sick and tired of having to wipe my battery stats every couple of months. It would never be necessary if Google software would just reflect some basic physics of a Lithium Ion battery, rather than just fool around with high-level algorithms.

So let me get this straight. To whom do I complain the next time that my battery shows 3.8 volts, yet my status says that the battery is empty? This 'google engineer'?

Wrong, you and about a hundred people over at XDA are wrong. Now that Google has confirmed it I can finally laugh at you and those like you who base all of your knowledge on rumors and "wives tales."

It only keeps track of what to display in battery stats. Your battery % is read from a chip in the battery.

Hate to break it to you, but you're only half right and that half has nothing to do with the point being made above. There is no "direct reading" of battery life, as you pointed out - it's calculated by the battery and then interperted by the OS - so yes, wiping your battery stats after you complete an OS flash will calibrate (for lack of a better term) stats that your battery is outputting - and more importantly how your OS is interperting those readings.

Most people make the brash mistake of thinking that any sort of reading done from an electrical device is actually measured, rather it's calculated. Take a CPU temperature gauge. I can count on one had the number of actual temperature gauges that actually "read the temperature" rather than calculating it based on power consumption and output.

In other news - laughing at others about someone's opinion of their smart phone or how it works might actually make you the biggest nerd on the planet. There's a thing...it's called outside...you should go find a life there :P

Jack

"I can count on one had the number of actual temperature gauges that actually 'read the temperature' rather than calculating it based on power consumption and output."

What.

No. I'm fairly certain the reported remaining capacity is 100% from the battery. If you hooked it up to a computer and the computer recognized the battery it'd say the exact same thing. What's done with the numbers is up to the OS, but the battery doesn't lie, and if you're reading the actual capacity remaining the OS doesn't lie either. If you're reading something like actual time remaining (example: '15 minutes remaining'), that is an OS guestimate based on current discharge rate.

wouldn't many people agree when flashing a new ROM (usually not official) , battery level reported in status bar is WAAAY off sometimes. And since this mainly regarding custom ROM's im sure there will be no word from google.

the reason your status says battery is empty is because to drop the voltage below that puts stress on the lithium within the battery and if low enough can also cause elements withing the battery to form crystals. in crystalline form they are not electrolytic meaning battery life was decreased as crystals formed. 3.8 volts is the lowest voltage that is still in the acceptable safe zone for lithium based batteries so devices are programed to shut down at that point to leave room for the natural power drain that is inherent with lithium batteries just so the voltage doesn't drop beyond the 3.8 volt safe zone.

what that means to you is getting all hot and bothered that you think the readings are wrong is a waste of your time instead read up on lithium batteries so you know what your talking about. if you don't like how Google built the OS go buy an iPhone instead.

Goggle programmed the cutoff at 3.8 volts for the prolong your batteries life as much as possible. lithium based batteries don't last as soon as they are manufactured they are already decaying. they only have a lifespan of roughly 2-3 years if your battery is still decent beyond that consider yourself lucky. if its capacity is dwindling buy a new battery and make sure you buy a fresh one the manufacture date is printed on the battery.

Actually its not 3.8V but between 2.5 and 2.7 when the protection circuitry kicks in to shut down the battery and put it into protection mode to preventwhat you described. The meter circuitry considers the battery as being discharged when the voltage reaches about 3 Volts. On the other had a full charge is near 4.2 Volts.

This topic has been beaten to death in almost every forum I have ever visited. There are plenty of people who understand how the "battery stats" works within Android but so many people are dead set on their view because of their "placebo-effect" experiences that the attempts to correct said individuals is all in futile.

This almost falls in line with the whole "task killer" debate and I think we all know how well that is going.
I believe AC is well aware:
http://www.androidcentral.com/ram-what-it-how-its-used-and-why-you-shoul...

And if you read the engineers statement he's right - it doesn't impact battery life...why would it. It does however impact the phones ability to interpret the battery life and display it to the user.

It's a she. I follow her on Google+. She does a good job cutting through the FUD that floats around forums and delivers the actual straight engineering stuff to dispel the mostly incorrect notion us lay people have about how Android works.

you people who do all this battery stuff like wipes etc are funny.. you are always the same people crying about battery life.

Ive had nothing but flawless battery life on my fascinate, and now my G nexus.

Ive used several rom/rooted devices, including ICS on my fascinate and kindle fire.. and ive never onced wiped the battery stats.. and i dont follow idiots lists on battery tips.. and guess what i get great battery life.

It is the on-battery chip that keeps track of battery use (capacity). I switch between two batteries to keep going during the day and the capacity is rendered accurately for each battery independently.Li-ion batteries depend on the power managment chip to gauge use since voltage is not an accurate indicator like other battery chemistries.

to chime along, I was also under the understanding that wiping battery stats improves more accurate battery level reporting, NOT improve the capacity of the battery itself. It's been clearly stated when I had read the instructions and discussions on it way back when.

this whole "confusion" is yet another example of ppl who dont pay attention to what they read or do and then run around spewing misinformation.

Whether this whole thing really works or not for battery reporting accuracy I cant really say from my own experience. My usage is too inconsistant to gauge it. I have occasionally wiped it when my battery seems to be reporting low battery faster than expected. And especially when swapping between 5 different batteries, i wouldn't want it to use data from one battery to another & misreporting.

I had rooted an epic 4g for a friend so they could run wireless tether on it. a couple of months later, her battery life was crap, and running out of battery within 30 min. I reset her battery stats in cwm after bump charging to full and bam, her battery was running like normal again. now I'm no dev, so I dunno what is really in the battery stats file, but in this instance, it worked. not saying she's wrong or right, but it worked. I guess on the other hand, it could have been the bump charging that worked as well.

Perhaps they're always answered, we just don't like the answer. There are always the possible answers: YES, NO, & LATER.

No. That's a cop-out. There are people praying for the Patriots to win and people praying for the Broncos. One set of people is going to be disappointed.

I think people are reading too much into this, the article says it doesn't improve battery life and that's true it's not going to make the same lithium ion battery last any longer, but when us flash addicts flash rom after rom, the stats get all messed up and from my experience it does lead to the battery percentage being inaccurate especially if your going back and forth between very different roms, like Sense and AOSP roms for instance and while I've skipped wiping battery stats after flashing a rom now and then, if I let it go after too many flashes the battery reporting does get strange.

I think this is more to tell simple rooted users that wiping battery stats isn't going to improve the native battery life and that's it.

According to Diane, the stats get reset every time you get to 100% charged, so resetting them manually is not necessary even if you are flashing.

Let's see, two methods were used at the same time. One actually puts more charge in the battery, and the other is being discredited by a Google engineer.

I'm going to put my money on the bump charge.

This is where I think all the confusion is. Was her phone actually dying, or was it just saying it was about to die? I'm guessing it wasn't actually dying.

it would actually shut off on her, all within 30 min of being at full charge. night and day difference now

I usaully clear battery stats when I flash a new rom, not because I think it will improve the battery life, I never even bother to make sure I'm at 100% before flashing, though I do make sure I'm above say 30 so the battery won't die while I'm flashing lol and I've never seen that effect my battery life, wiping battery stats was about getting an accurate battery report, as the old stuff from the old rom doesn't really apply.

Also I am willing to bet their are a bunch of people commenting on this thread saying yeah it doesn't do anything I never did that, who has quite a few times cleared battery stats lol.

Yeah, I think this is not pertaining to those of us switching between vastly different ROMs/kernels and such.

I've had drastic changes in reported battery life after switching to new ROMs on my Incredible and not having wiped battery stats. It may not actually help battery life, but it helps more accurately report what kind of battery life you're getting with a new ROM. Just my $.02 from my personal experience.

Read Diane's actual post...it clearly says that every time you unplug from the charger with a full battery, the OS wipes batterystats. The only time you might actually get the effect you're talking about is the time you run on a new ROM install before getting a full charge. Wipe away if you're that worried about your first boot not reporting accurately, but it's really pointless in the long run.

So much ghost chasing is going on in the absence of direct technical support from Google.

I wish Diane would post more goodies like this...She knows many of these answers and every couple weeks burps out an enlightening fact about the internals of the OS. It is surprising that Google doesn't indirectly respond to the major "XDA memes" that get spread around as fact, as if XDA members are authoritative. I think they might finally be waking up to how valuable community support is when provided by Google employees.

Remember that ex-google intern that claimed Android would never be graphically smooth and the Mac blogs quoted him verbatim...Then Diane responded the intern didn't know what he was talking about and why. The power of being an insider should be wielded by the framework team to dispel myths before they get started.

It's pretty clear a lot commenting here didn't even read, or at least didn't comprehend, Diane's post.
Direct quotes:

"It has no impact on the current battery level shown to you.

It has no impact on your battery life.

Deleting it is not going to do anything to make your more device more fantastic and wonderful... well, unless you have some deep hatred for seeing anything shown in the battery usage UI. And anyway, it is reset every time you unplug from power with a relatively full charge (thus why the battery usage UI data resets at that point), so this would be a much easier way to make it go away."

It's almost as ridiculous as the "I always wipe data THREE times before flashing a new ROM" crowd, but that's another debate. ;)

Well I had flashed a few ROMs and I noticed my battery was dying incredibly quickly and by wiping the battery stats, my battery life has increased 10-fold. So... I'm not sure...

I'm pretty sure that is exactly impossible based on the facts we have been given regarding what the wiping of battery stats actually does.

This is a result of the ability to hack/mod/root devices becoming so easy that anyone can do it which causes inaccurate information to be shared.

As a result since no real effort or knowledge is required by the people who are doing these tests the information is fundamentally flawed. They fail to realize that they are loading different roms that will produce different results not to mention the environment they are in varies everyday and things like heat and cold, rain or sun, winter vs. summer, or if you live in a city or in the country all these can cause these results to vary because the signal of the device can fluctuate as well as the performance of the battery in varying temperatures. That is why battery tests are done in clean rooms with controlled temperatures so that precise readings can be made.

To speak to the city vs. country part, Most people don't know this but one factor of why signal can be worse if you live out from the city is trees in the Spring and summer months. The leaves on trees absorb light aka. photosynthesis, light is essentially radio waves emitted from the sun and the trees absorb it to grow. Cell phone signals, tv, radio all work by transmitting radio waves the same way the sun does and the trees don't know the difference. That is why most cell phone providers have higher call volume into their customer service and longer wait times in Summer than any other time of the year save Christmas and Black Friday. This information actually came from some network guys I know that work for a cellphone company.

this quote below, makes no sense. at all. "rotating between roms" wipes battery stats. every time you wipe data, you wipe batterystats because it is stored in the data directory.

furthermore, the Linux kernel is the power management in the android world... which shuts off, and knows full charge based on voltage readings. end of discussion really.

"is improve *reporting* of battery performance (i.e. maintains accuracy) for crack-flashers when they're constantly rotating between different ROMs and sets of Apps. The battery's gonna do what it does based on its own intrinsic characteristics,andthe draw/load that's put on it over time - ain't no code gonna change that. Keeping a consistent and clean history of what the battery is doing and how it's reacting to that load is what wiping of batterystats.bin is all about, in my opinion."

This is bull kaka. Leaves are opaque to electromagnetic radiation (e.g. light) at visible light wavelengths but practically transparent at radio wave frequencies. There may be a small attenuation from leaves from spring through fall but I imagine it's negligible.

It's funny that on a thread that attempts to thwart FUD, someone introduces a whole new variation of it on a completely different topic.

Didnt the article say that it resets everytime it reaches 100%? So why are there like 50 people saying "i always clear my stats not for improved battery life but for accurate information"....when in fact this google employee just stated it resets every time fully charged? Meaning you clearing the stats means nothing

Old wives tales die hard.

This phenomenon is why the nutritional supplement industry thrives. People take a supplement then take personal inventory and say, "Well, I think I feel better. Supplement X must be making me feel better". Subjective perception can and will betray you.

If you allow a LiPo battery to go very dangerously low that it shuts down the device, but you have dual boot into a non Android OS and you recharge the battery in that OS and then reboot into Android would the stats be remembered and fail the boot?
If it did cause that sort of response then there would indeed be a very good reason to clear stats as well as an explanation for a lot of device behaviour that's reported.
Anyone know?

flashed a new rom yesterday...took off charger this morning, got to work 15 minutes later and my battery was down to 85%...fully charged, wiped stats, and now im getting accurate reading

sure as hell doesnt seem like it was cleared when it reached 100% by itself

So, this is the Google expert that so many of you are enamored with: http://www.angryredplanet.com/~hackbod/. Are you so impressed because she has Google as one of her current jobs? This woman claims to have spent a significant amount of time working on Interactive HTML in her past. and it certainly shows in the quality of her website. The real clincher for me is her fascination with teddy bear S&M, replete with stories AND pictures. Yes, this is certainly the person that I would be quoting to support my loudly shouted beliefs regarding battery technology that I don't understand.

I work in a corporate software development environment of more than 3000 "engineers". Trusting any one of those engineers to not be paraphrasing something they overheard someone else discussing and calling it fact would be an exceptionally poor judgement call. Everyone is deep diving on the pieces they work on and generally only has a rough idea of how everyone else stuff works. I find it highly sketchy for so many people to just accept info on a wide variety of topics from a single engineer. And just to be clear, the higher up you get in the chain of command in software development, the less you code and the less you actually know about the details of how your projects work down in the weeds. I have to refresh the architects over my projects on what the apps do all the time and its still just a generic description. Software Dev is just like any other business. Plenty of "knowledgable" people ready to make their undestanding of something they dont understand available to the public. Dont buy everything you read.

I just wiped my battery stats now and I can tell you it fixed the reading on my android optimus elite. What it comes down to is if you can't already tell from how she started her paragraph.. she is bad mouthing hackers. Sorry lady but android is a open source project and no laws prohibit us from doing whatever we want with the devices we bought which in the end put money in you're pocket, food in you're refrigerator, gas in you're car, and the list goes on.. ok where was I.. oh yeah it comes down to us wiping battery stats.. nothing can make a battery last long its common physics cause you'd have to updrade the actual size of the battery to get a longer charge. So google whenever you get your devices to come with full root access ill change my tone since you're devices are open project :)

P.s there is one thing you could do to upgrade batteries but I doubt you'd pull it off since you guys at google love to charge off the ass for devices then 6 months later push out a whole new operating system. Why don't you just build a phone that is solor powered. ???? Or have it to where to solar power recharges the battery? ?? If I worked at Google id have a team on this right now!