We may be die-hard Android fans here at Android Community, but we’ve all at least given iOS a chance to shine its light. One of its best features is handling UI actions perfectly, thus leaving the user willing to wait for longer page loads. Over on Google+, Google engineering intern Andrew Munn explained to us precisely why Android OS will never be as fluid as iOS or Windows Phone 7 devices.
What it boils down to is that Android OS renders all graphics continuously – and on the same priority. What differs in iOS and WP7 is that graphics rendering is queued for when it’s needed. This is why when we open many applications at once within Android, we see the device start to slow down as it tries to keep up. In iOS, if an application isn’t done loading and you start touching your screen, it will only finish loading when you release your finger. This also helps keep the device from working to hard on multiple tasks – which eventually drains your battery.
Put in Munn’s words:
It’s not GC pauses. It’s not because Android runs bytecode and iOS runs native code. 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.
Personally, I love the way Android OS allows loading simultaneously to UI interaction. I’m pretty good at gauging the device’s capabilities to the point where I’ll know when the system may start to slow down. Also, hardware just keeps getting better and better. There will be a time when Android’s “sluggish threshold” is much harder to reach than currently.