Last Friday I replaced Windows Mobile 6.5 (WinMo) with Android on my HTC HD2. I used a cracked Android-version based on HTC Desire HD which is very similar to the HD2. The interesting thing about this “upgrade” is that it is possible to compare WinMo and Android directly without putting too much weight on differences in hardware. So after a weekend of using it I have some observations. Note that this is based on a subjective experience, and that some issues could be attributed to the cracked image I used.
Differences I noticed:
- The GPS on Android is using a shitload of power. On WinMo I always had GPS enabled. Doing the same on Android eats a considerable amount of power.
- The GPS on Android, even when active for a long time, uses a long time to find your GPS position when you start an app. Failed attempt at power save?
- Screen dimming does not work very well. Screen seems to want to be relatively bright. WinMo had more fine grained control.
- Android freezes and hangs regularly. It seems it hangs about the same amount of time on all phone types, so even though my phone has a 1GHz Snapdragon CPU it still hangs for a long time.
- Boot time is just amazingly ridiculous long. Like, 3 minutes+, seriously. I though WinMo with its 30+ seconds was bad.
- Spotify eats a lot of battery. Much more than on WinMo.
I charge the battery every night. In the morning I walk the dog while listening to music, then I take the subway to work while listening to music and surfing the web. With WinMo this drains less than 20%. Today with Android it drained just over 60%. Now this could be related to how the OS calculates remaining power or what apps I use or a whole lot of other problems, but it paints a picture of a major difference in power consumption.
My guess: WinMo 6.x was written 10 years ago in a time where CPU power (and battery) was very limited. It had to be small, fast and lightweight to be useful at all. Android is based on the Linux kernel with Java apps going through layers of abstraction. So WinMo was optimized for speed, Android is optimized for development.
Having a 1GHz CPU doesn’t exactly help either. It uses 4 times more power than a 0,5 GHz CPU and 8 times more than a 0,25 GHZ CPU.
A note on this: As computers get more powerful the developers get more sloppy. We’ve seen this in the evolution of the PC and its operating systems, and I’m guessing this explains the difference in power consumption. In short wherever there are choices to be made between speed and readability, speed and portability, speed and maintainability, etc. then the most cost effective approach will win. And that is of course to push the problem over on the consumer.