One thing that we seem to hear about more from Android power-users than from "stock" users is how fast their battery seems to drain. In the past most of us have attributed this to power-users just doing more than their "stock" counterparts. Other theories include overclocking, boosting radio power, and even custom apps or drivers that could be chewing up excess cycles as the source of the power drain.

While all of those are potentially valid possibilities, there could be a simple, yet technical reason for the drain: your battery isn't telling the truth.

The root of the problem sits with people who flash custom ROMs (like CyanogenMod and others), and the way battery power is reported to the operating system. You see, the battery charge indicator gets its data from batterystats.bin, a file in the data/system/ directory. Every time a custom ROM is flashed onto a device the ROM may interpret your battery capacity based on its current state.

For example, if you flash a ROM with a 50% charge, the ROM may think that 50% is actually 100%, and behave accordingly -- including automatically shutting down when your battery is "empty" -- even when it's still half-full!

If you've had diminished battery life after flashing a ROM, and if this is the cause of the problem, the fix is fairly easy, but must be done in a specific and particular order.

First, charge your smartphone to 100%, then reboot into recovery mode (the instructions to do so vary by device, but the ROM Manager app makes rebooting into Recovery very easy).

If you're using ClockworkMod Recovery, navigate into the Advanced menu, then select Wipe Battery Stats. Select the prompts to proceed with the wipe, then reboot your device. Once done, unplug it and let it run all the way out -- without plugging in. This will calibrate the system to the actual capacity of your battery, and your status indicators should accurately reflect the real state of charge -- and hopefully your Android will stop shutting down prematurely.