Why Android is laggy compared to Windows Phone 7 and iOS

I just came across the best in-depth explanation regarding the well known UI performance issues that Android exhibits even on really high-end devices compared to modest hardware running Windows Phone 7 or iOS. The lengthy post was written down by Andrew Munn (in response to Google’s Dianne Hackborn’s earlier post about GPU HW accel in Android here) who was an intern on Android team (and who is interning on the Windows Phone Team at Microsoft next month). There are a couple of errors in his description of the way iOS handles the UI thread so keep that in mind when reading him. Other than that it’s a fairly accurate view of why Android is and most probably will never be ass efficient as iOS and Windows phone when rendering UIs simply because of early design choices when the framework was created. Throwing more processing power seems to be the only solution so far (plus the addition of HW acceleration in so parts of the OS in Honeycomb and ICS).

There are three main causes:

- The UI rendering isn’t done in a separate dedicated high priority thread but in the main thread with normal priority instead
- GC (Garbage Colector) / Timing issues.
- Lack of Hardware acceleration in the vast majority of the OS and the way UI rendering is handled: “On iOS, each UI view is rendered separately and stored in memory, so many animations only require the GPU to recomposite UI views. GPUs are extremely good at this. Unfortunately, on Android, the UI hierarchy is flattened before rendering, so animations require every animating section of the screen to be redrawn.”

Android as was originally decided for non-touch screen handset (remember the first emulator images and HTC prototype that looked like a BlackBerry ?) that’s why the UI framework was designed in such a way. It now seems that Google isn’t willing to take the risk/time to re-write from scratch now that the platform has reach the number spot in terms of Marketshare.Anyway, just head over here to read the whole thing and don’t hesitate to leave a comment there or here in the section below. As I always said: It’s all about the software. If the code / Framewaork is bad then shame on you Google.

  • Anonymous

    Interesting. I always enjoy your articles.

  • Guest

    it’s just a matter of time, android will phase out