You may have read our recent article about a post written by Dianne Hackborn, a Google engineer, in which she clarifies some issues concerning hardware acceleration in Android. In short, even though Android has had “full” hardware acceleration for its UI since Honeycomb, there are still lots of other issues that prevent it from being as smooth as Windows Phone or iOS. Now, Andrew Munn, a former intern at the Android team, has written another post in which he identifies the root cause for this:
It’s because on iOS all UI rendering occurs in a dedicated UI thread with real-time priority. On the other hand, Android follows the traditional PC model of rendering occurring on the main thread with normal priority.
He illustrates this point with the following example:
Grab your closest iPad or iPhone and open Safari. Start loading a complex web page like Facebook. Half way through loading, put your finger on the screen and move it around. All rendering instantly stops. The website will literally never load until you remove your finger. This is because the UI thread is intercepting all events and rendering the UI at real-time priority.
If you repeat this exercise on Android, you’ll notice that the browser will attempt to both animate the page and render the HTML, and do an ‘ok’ job at both.
For a full explanation, head over to read his full post on Google+._________