Since I’m on the comparison of Android and iOS kick I might as well talk about battery life. Most reviews of high-end Android devices knock the reviewed device for having poor battery life. I know the biggest hit against the Evo 4G is it’s battery life. My iPhone has had great battery life compared to my Evo giving me two days instead of one on a single charge (I count battery life in number of days before needing to recharge the phone, my Treo 755p got roughly three days).
There are many things to consider when comparing battery life including the storage capacity of the battery. The other major factory in battery life is the operating system and applications. The iPhone’s multi-tasking capabilities are… poor to say the least. If you want to run something in the background that Apple hasn’t provided a specific service for you have up to 10 minutes (the iPhone allows an application to run for 10 minutes in the background before suspending it).
Android on the other hand allows true multi-tasking. Any application is spawn a service that can run in the background even when the main application is no longer being displayed. This gives Android far more flexibility. Allowing real multi-tasking can also take a toll on the battery life as a runaway process can run the CPU at 100% and turn your battery life into a mere couple of hours. Personally I find the tradeoff worth it as any application that slaughters your battery life is poorly written and really the fault of the developer, not the device.
What I blame Android for is it’s poor built-in battery life reporting tool. On the Evo if you go under Settings->About Phone there is an item called Battery Life. This little application tells you the rough percentage of battery charge remaining and what has been using the battery life. This reporting tools does an abysmal job unfortunately.
I still carry my Evo around and use it as a portable Wi-Fi hotspot (which it works great as). I noticed when I returned home last night the phone was reporting the battery was almost completely dead. Usually this means some application is going crazy either pulling down data or racking up the CPU. A simple reboot of the phone generally takes care of this but I’m more of a curious person and wanted to know exactly what process was draining my battery.
Well the battery usage reporting tool did say it was the Android system that was using a majority of my power… of course that’s a catchall for every application on the device. The battery usage tool lumps every application under the Android system category and does not breakdown by individual application. In fact it’s not possible with Android’s built-in battery usage tool to see how much CPU time (and thus a rough estimation of battery life) an individual application has used. This makes finding the rough process difficult if not impossible.
I really like the fact Android has true multi-tasking and accept the responsibility that comes with such flexibility. But I’d also like a mechanism to see how much power each individual application is sucking down. Having such information would allow me to determine if an app I downloaded was poorly written and remove it. As it sits now you practically have to download an app, test it for a day, see the impact on battery life, and hope it doesn’t screw up later down the road.
I have been employing a program called Watchdog to keep an eye on out-of-control Android applications… Every X seconds (user-settable), it will take a look at the processor and see which applications are using how much of its capacity. If any application goes over a user-settable threshold during that look, Watchdog alerts you, and then lets you decide what to do about it – this process is not quite as perfect as looking at the overall battery drain of a specific program (given that memory reads/writes take power too), but it works a hell of a lot better than Android’s onboard battery system.
That a need for such an independent app exists is another matter ;).