One day, I got up in the morning and found that my mobile phone has switched off during the night. When I started it, its battery was dead.
After some thought, I realized that the reason for this battery drain could be the applications that I had launched on the previous evening. I remembered that I had played a couple of games before going to bed and this drain was due to Android application policies.
Android has the policy of not removing apps from memory when they are exit. They are ‘paused’. When Android runs out of memory, such apps are removed.
While pondering about the reasons, I realized that Android application behaviour might be the reason. While the battery on that day was not 100%, it was not so low that the mobile should have died. To add to that, the analog battery meter is so misleading. Even at 30%, it is halfway and sometimes even at 90%, it shows full.
Having found a possible reason for the behaviour, I decided to investigate. I tried a couple of apps. Then I launched an android application to monitor usage. There I found the apps I had exited, consuming some CPU time – 2%, 0.3%, 5% and the like. I promptly killed the apps.
While these policies are in place for quick start-up, the same policies cause the battery to drain. Android needs to treat an application ‘pause’ (on getting a phone call) and an application ‘exit’ (by the user) differently and remove the application from memory on ‘exit’.
While I have not tried to re-create the scenario (of phone dead over during the night), is this behaviour something you have observed? Are the percentages shown by the app really using up CPU time and hence the battery?
If this is true, this could be a reason for many people complaining that Android phones do not last for very long on a single charge.