Why Android Will Always Be Laggier Than iOS
[Via Cult of Mac]
One of the things that really stands out using an iPhone is just how smooth it feels compared to using Android. Where as Android is laggy, with a measurable interim between when you touch the screen and when the OS responds, iOS almost seems to anticipate what you want to do before your finger touches the display.
How has Apple managed this incredible feat? A better question might be: “How has Google managed to screw up Android’s multitouch so much?” According to Andrew Munn — a software engineering student and ex-Google intern — Android is so messed up that Google might never be able to match an iPhone or iPad’s performance. Ouch!
Before we begin, here’s some background. In the past, it has been said that Android’s UI is laggy compared to iOS because the UI elements weren’t hardware accelerated until Honeycomb. In other words, every time you swipe the screen on an Android phone, the CPU needs to draw every single pixel over again, and that’s not something CPUs are very good at.
That argument makes sense, except if it were true, Android would have stopped measurably lagging in touch responsiveness compared to iOS when Android 3.0 Honeycomb was released. Except guess what? Android devices are still laggy even after Honeycomb is installed on them.
The problem arises from a fundamental choice the developers of Android made years before the idea of touch even occurred to them They developed the Android to be used with a keyboard or trackball, just as every other smartphone of the time did – no touch.
When using a keyboard or other input, normal priority for the keyboarding tasks could be used. We text so slow that other background processes could take place. No need to give input a higher priority.
But rendering touch well requires a lot of the device’s power, so Apple made sure that anytime you use touch, it gets the highest priority, stopping anything that might slow down the touch interface. As stated in the article:
In other words, every time you touch your finger to your iPhone’s display, the OS literally goes crazy: “Someone’s touching us! Someone’s touching us! Stop everything else you’re doing, someone’s touching us!”
So moving anything on an iPad gives it all the resources the iPad can provide, making sure the movements are smooth.
But Google did not do this because they had to rush their operating system out to compete with Apple. They apparently did not – or could not – rewrite the system to give touch the highest priority. So now, it gets the same amount of attention from the device as any housekeeping or app driven process.
And it may well be too late to change this without every app already out there to be rendered obsolete.
This is an example of why the well-thought out reasoning of Apple results in a great user experience versus the jury rigged, rushed efforts of their competitors.