x PhoneArena is hiring! Reviewer in the USA

"Android can never be as smooth as iOS" myth busted

Posted: , by Victor H.

Tags :

Two months ago, a Google intern kicked off a discussion about why Android is laggy: a sore point in the hearts of Android fans, and gave what seemed like a pretty legitimate explanation to non-developers. It spurred a huge discussion not only on the Internet, but right here with arguments being brought by both sides. 

In a nutshell, the former Google intern Andrew Munn said that UI rendering is happening as a main thread in Android while in iOS it’s in a dedicated thread given a real-time priority and that is why many find Android laggy. Moreover, Munn suggested that that’s an inherent flaw of the way Android is built. That’s why Android was to remain somewhat laggy despite dual and quad-core chips roaring under the hood, and actually whatever hardware is thrown in an Android device. We definitely advise you to check out Munn's first post to get all the details he touches on.

However in the recent months many people who really are experts in threaded programming in particular and Android at large have chimed in with comments saying Munn’s statement is uninformed at best and misleading at worst and his conclusions are simply false. We have to admit, that the technicality of Munn’s first post was very convincing to us as well, especially given the fact that Android and apps built for it are indeed often laggy.

The experts have a different opinion, though, and it’s backed by more experience and facts. So here’s the other side: Jay Freeman who made Cydia says that Munn’s post is “simply wrong,” Bob Lee, CTO of Square and former Android core library lead described it as “fallacies” and Matthew Chaboud, senior engineer at Avid brusquely concluded: “uninformed crap.”

Before we quote the developers, let us first include their own disclaimer: “While I'd love to explain why Android is laggy, while iOS, WP7 etc are fluid, I can't. I cannot claim that I know how a lot of little issues managed to cascade to an inferior experience for many of us.”

So with no further ado, here’s the details on all the fallacies of Munn’s initial post:

Matthew Chaboud, Senior Software Engineer at Avid:
Unlike a number of the in-awe comments here, mine will come with a different tone:

Your post is uninformed crap.

I'm a threading guy. I've spent more than a decade eating, breathing, and sleeping optimization of threaded interactive user applications. I'm not really a phone guy, but I've dinked around with iOS and Android. Both provide facilities for background threaded render-ahead and non-allocating in-place recycling of resources. I can say, with absolute confidence, that you're suffering heavily from the Dunning-Kruger effect. You know far less about threading and rendering architectures (or, clearly, application architectures) than you think you do, and the assertion that "Android UI will never be completely smooth..." ranks as one of the most tragically idiotic technical assessments that I've seen all month (and I see some real winners).

This suggests that iOS is A) perfectly smooth and B) that way because of threading lock out. It also suggests that software rendering can't manage 60fps, or that threads at normal priority can't be smooth. I can't think of any of my iOS devices (iPhone and iPod Touch on my desk and in my bag) that is always smooth. Smoother? Rendered on a background thread to quell transient interruptions when using CoreAnimation? Sure. Perfect? Oh no. I can easily write you an iOS app that is a stuttering mess.

I've written a sub-pixel accurate software-only compositing engine that could peg 1080/60p using normal priority threads (on x86) on a system with higher priority threads running other tasks, including realtime threads. I am entirely confident that this will become possible on mobile platforms without GPU assistance (though why not use the GPU when it's there?).

I'd reply, point by point, to the big-bucket-of-wrong that you've posted here, but it's just too much effort. That you leave this post up and carry such an air of authority (even after the disclaimer) is mind-boggling. That's just one more name on the do-not-hire-this-guy list.

Bob Lee, CTO of Square and former Android core library lead:
Some fallacies related to Android vs. iOS UI performance made the rounds recently, inflicting undue damage to Android's reputation. It all started with a misinformed Google+ update written by former Android testing intern Andrew Munn.
Time reporter Matt Peckham echoed Andrew's misconceptions the following day, further spreading the FUD about Android. Toward the end of his article, Matt noted:

I’m not an Android or iOS software engineer, so all I can say in response to any of this is that, assuming Munn’s correctly articulated the way rendering takes places on Android and iOS devices, it makes sense (but then so does the idea that Lee Harvey Oswald had help, at least to some people).

Peckham makes no mention of trying to corroborate Munn's claims with a more experienced, knowledgeable engineer, like Romain or Dianne from the Android team, nor does he reference the corrections made by iOS experts in the comments on Munn's post. A more qualified engineer would support their theories with evidence like code, specifications, and performance test results, not Reddit and Hacker News comments as Munn did.

I don't claim to have all the answers, but I can tell you that implementing fluid interfaces on both iOS and Android is time consuming and difficult. The challenges are an order of magnitude more complex than Munn suggests. I haven't had an opportunity to try Ice Cream Sandwich yet, so I can't tell you firsthand how it compares to the iPhone. However, Jason Kincaid, quoted by Munn, described ICS as quite smooth and noted that both Android and iOS stutter occasionally.

Jay Freeman's, iOS developer and developer of Cydia:
"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." 

AFAIK this is simply wrong: the events that are later described as blocking rendering are coming in on the main thread, not some special "dedicated" one. The reason things block is because of the way the event loop on that thread is managed (and in fact is directly caused by all of that activity operating on the main thread, which we even often call the "UI thread"), and has nothing to do with threading, and certainly has nothing to do with "real-time priority".

"On iOS when an app is installing from the app store and you put your finger on the screen, the installation instantly pauses until all rendering is finished." 

This is certainly not true. The update of the display for the installation progress might (...might) stop, as that's happening in the UI (aka, "main") thread of SpringBoard (and the event loop management might ignore incoming events that are not related to the touch event until after the gesture completes), but the installation itself is being managed by a background daemon (installd) and will not stop because someone is touching the screen. The operating system is /not/ doing something hilariously insane here, throwing out all computation on the device because someone is accidentally touching it.

Brent Royal-Gordon, iOS developer:
The iOS description here isn't quite accurate. There are several things at work:

1. Compositing and previously set-up animations—all the stuff that involves the Core Animation rendering layer tree—do indeed happen on a background thread.

2. Drawing new content into Core Animation layers and setting up their animations happens on the main thread. This is the same thread that user interface actions occur on.

3. In naively written code, all developer-written code would occur on the main thread. However, Apple provides very easy APIs (Grand Central Dispatch and NSOperation) to move things into system-managed background threads. In iOS 5, you can even declare that a Core Data (object-relational database) context cannot be used directly on the main thread.

All that stuff you noticed—the way images aren't drawn into lists while you're scrolling, the way WebKit rendering stops when the system is tracking a touch—isn't inherently built-in by a mechanism that pauses the world when a finger is on the screen.* It's deliberate behavior painstakingly implemented by the developer of each individual app.

This is not a technical difference; it's a cultural difference. Good iOS developers don't ship software until it runs at something near 60 fps while scrolling and tracks touches almost perfectly; good Android developers do.

All of this argues with Munn's arguments, but not with the existence of the problem itself. And it exists, at least if you ask the majority of Android users. Have you encountered any additional arguments explaining why? Don't hesitate to share your them along with your opinions in the comments below.

source: Andrew Munn via TheVerge

  • Options

posted on 25 Jan 2012, 05:20 27

1. Birds (Posts: 1157; Member since: 21 Nov 2011)


posted on 25 Jan 2012, 05:39 20

3. protozeloz (Posts: 5396; Member since: 16 Sep 2010)

Duh. And mostly from people on the other side, they had to prove him wrong now I can continue saying that Android will keep growing in terms of look quality and performance

posted on 25 Jan 2012, 11:45 7

39. JonGarrett (Posts: 29; Member since: 06 Aug 2011)

you will NEVER find this kind of story on any apple fan site. they love to spread lies and misinformation about Android when 9 times out of 10, they've never used an Android device save for a broken piece of equipemnt you typically find at Best Buy.

posted on 25 Jan 2012, 07:50 10

13. tahnik (Posts: 188; Member since: 17 Jul 2011)

Ya...it's right...Our windows sometimes lags...Don't they?
iOS is very good i have to admit though...
But Android gave us the freedom....It gave us the capability to customize the phone as we want...
In iOS you are only able to do what your OS choose you to do...But in android you choose what your OS will do....:)

posted on 25 Jan 2012, 08:41 6

22. asimo (Posts: 41; Member since: 05 Jan 2012)

yeah on ios you cannot not ask too much to the system, so it *never* lags... In fact it's your BRAIN that slows down, not ios that's smooth!

(this one was easy sorry)
---------------------------->[] (i'm out)

posted on 25 Jan 2012, 14:02

45. kgdadon (Posts: 1; Member since: 25 Jan 2012)

YOU my friend hit it on the head with a sledge HAMMER !!! good post!

posted on 31 Dec 2012, 16:35

64. steve19800 (Posts: 1; Member since: 16 Dec 2012)

That's probably the reason why Android prones to lag and less smooth. There are too many 'personality' to test.

posted on 25 Jan 2012, 08:50 3

23. ZEUS.the.thunder.god (unregistered)

yeah thanks a lot PA. appreciate it.

posted on 25 Jan 2012, 05:36 14

2. medalaster01 (Posts: 42; Member since: 22 Nov 2011)

"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."

said by jay freeman's which means android acts like windows on desktop and ios a more mobile oriented software.

one more reason to stay Android.

posted on 25 Jan 2012, 05:43 3

4. protozeloz (Posts: 5396; Member since: 16 Sep 2010)

Eh.... not exactly

posted on 25 Jan 2012, 07:51 5

14. rcrider4 (Posts: 118; Member since: 14 Nov 2011)

That was the quote from the intern that Jay Freeman was refuting. It is not his own statement. Pay closer attention and you would have seen the quotes around that statement.

posted on 25 Jan 2012, 08:22 1

17. kylie (Posts: 9; Member since: 22 Jan 2012)

so you dont want mobile os in mobile,you want non-mobile os on your mobile

posted on 25 Jan 2012, 12:55 5

43. SleepingOz (unregistered)

We want SMARTER OS on our SMARTphones!

posted on 26 Jan 2012, 08:36

59. kylie (Posts: 9; Member since: 22 Jan 2012)

then why do you make the wrong choice. Buy a windows phone or an iphone.

posted on 27 Jan 2012, 04:50

62. thebikerboi2 (Posts: 144; Member since: 01 Apr 2011)

tht depends, personaly i dont think smartphones are ready to handle a desktop style OS, simply not powerful enough although they are getting more powerful. plus you will never escape the fact that, the OS will always be orintated around the device.

posted on 25 Jan 2012, 05:44 9

5. JSern (Posts: 282; Member since: 22 May 2011)

Nope. WP > iOS > Android in smoothness.

posted on 25 Jan 2012, 07:37 3

12. andro. (Posts: 1998; Member since: 16 Sep 2011)

Windows is indeed the smoothest but the menu ui block styling is akin to that of a the commadore 64 era and as so the processors don't need to break a sweat

posted on 25 Jan 2012, 08:07 3

16. JSern (Posts: 282; Member since: 22 May 2011)

Yup, that's one point

posted on 25 Jan 2012, 21:13 2

51. BattleBrat (Posts: 1455; Member since: 26 Oct 2011)

Yes, you are right, WP is the smoothest I had the TITAN and a 4S side by side, the Titan is the smoothest, I own a RAZR, and it is pretty smooth for Android, I would like to see what my RAZR will do on ICS....

posted on 25 Jan 2012, 06:16 6

7. GPFboyJS (Posts: 3; Member since: 27 Apr 2011)

Sorry to say but both Android and iOS lag in some areas. I have friends with the latest iPhone 4s and myself running the latest Android phone.

There are areas that the Android is substantially faster in rendering and others that the iOS device is faster.

Ultimately it is the job of the App Developer to make the code of their application as efficient and optimized as possible. The OS is just the canvas.

posted on 25 Jan 2012, 06:20 6

8. nwright94 (unregistered)

Maybe other people have good luck with their Android handsets, but I haven't owned a smooth Android handset yet. My old Atrix on dual core being the laggiest. I understand thats probably because it was on froyo before I returned it for a windows phone. Now as for iPhone, mine probably lagged just as much as my old backflip. It was rooted so it wasn't the laggiest, but anyone whose owned a backflip understands what I mean. Now if you want smooth, get a windows phone.

posted on 25 Jan 2012, 06:42 4

9. c.hack (Posts: 609; Member since: 09 Dec 2009)

I was going to respond on my Android tablet, but the keyboard was too laggy to type even a sentence and then it locked up. Yeah, Android's great - if you like to pay to debug Google's beta software. I use both Apple (original iPad and 4s) and Android (DX2 and A500 both dual core). Android cannot compete in responsiveness and smoothness with Apple. Even the dual core A500 is a laggy embarrassment compared to the first gen iPad.

posted on 25 Jan 2012, 08:59 5

24. iamcc (Posts: 1319; Member since: 07 Oct 2011)

You have the worst luck with stuff dude... I use my GT10.1 to post on PhoneArena several times a day without issue...

posted on 25 Jan 2012, 10:15 3

31. Sniggly (Posts: 7305; Member since: 05 Dec 2009)

Part of your problem is the DROID X2. Sure, it's dual core, but it also only has 512 megs of RAM. My Atrix, however, is pretty damn smooth, or at least it is when I don't have fifteen processes running in the background. Time to uninstall those Glu games!

posted on 25 Jan 2012, 12:24 5

41. ZayZay (Posts: 571; Member since: 26 Feb 2011)

Do you sound this stupid in person too, or is it just on the internet?

If you feel and hate android and it's laggyness so much, why do you have an android tab?

Is your beloved Apple to expensive for you?

You're funny because you are always saying "Well my friend has an android and it..." or "Well I had an android and it had this problem...?

You are the replica of the annoying apple fanboy the commercials display.
Good luck in life if you act like this all the time.

posted on 25 Jan 2012, 06:51 12

10. redmd (Posts: 1268; Member since: 26 Oct 2011)

I would rather have this "lag" than not having Bluetooth file transfer or microsd slot or USB mass storage.

posted on 25 Jan 2012, 07:23 4

11. JSern (Posts: 282; Member since: 22 May 2011)

Android users. U MAD?

posted on 25 Jan 2012, 10:34 1

32. protozeloz (Posts: 5396; Member since: 16 Sep 2010)

not at all android may be not as smooth as iOS but this shows it could change android keeps getting better and better and anyone with 4.0 can tell you that

posted on 25 Jan 2012, 11:13 1

36. blazee (Posts: 407; Member since: 02 Jan 2012)

Nope. R U?

posted on 25 Jan 2012, 08:03 2

15. zaryab_hussain77 (Posts: 104; Member since: 30 Jun 2011)

Ios is f**king simple n boring

posted on 25 Jan 2012, 11:31 5

38. torr310 (Posts: 837; Member since: 27 Oct 2011)

iOS just cannot do as many tricks as Android does.

posted on 25 Jan 2012, 08:36 1

18. gotti88 (Posts: 101; Member since: 06 Jul 2011)

IOS is a way simpler os in reality...

posted on 25 Jan 2012, 13:01 2

44. SleepingOz (unregistered)

simple os for simple-minded persons

posted on 27 Jan 2012, 04:54

63. thebikerboi2 (Posts: 144; Member since: 01 Apr 2011)

for saying that, you just made yourself a simple minded person. not all ios users a the dumb Ish33p or the zombies that android fans proclaim.

posted on 25 Jan 2012, 08:38 3

19. gotti88 (Posts: 101; Member since: 06 Jul 2011)

cupertino heart with chinese parts. built by the poor but designed by the smart.

posted on 25 Jan 2012, 08:40 5

20. remixfa (Posts: 14255; Member since: 19 Dec 2008)

I am on an, unofficial ICS rom on an unsupported phone that is only single cow andit has never run more smoothly. What's lag?

posted on 25 Jan 2012, 08:41 1

21. gotti88 (Posts: 101; Member since: 06 Jul 2011)

great comment

posted on 25 Jan 2012, 09:35 4

27. remixfa (Posts: 14255; Member since: 19 Dec 2008)

lol.. i was typing and talking and didnt proof read. DOH. :)

"I am on an unofficial ICS rom... on an unsupported phone that is only a single core, and it has never run more smoothly. Whats lag?"


posted on 25 Jan 2012, 09:37 2

28. kylie (Posts: 9; Member since: 22 Jan 2012)

u will know about lagging when you use windows phone and iOS

posted on 26 Jan 2012, 01:55 2

57. vmaster (Posts: 31; Member since: 11 Dec 2011)

Just useless statement, it's like saying "if you wanna see a slow animal, check out a tiger or a cheetah". I'm an android user, but it's obvious to any idiot who will use all three OS's that windows and iOS run smoother with less lags, although i'm not saying that android sucks. I think android constantly keeps getting better, but don't make bogus claims when facts prove otherwise.

posted on 25 Jan 2012, 09:19 1

25. speckledapple (Posts: 892; Member since: 29 Sep 2011)

I think I would have to agree with the last guy the most as I have used both Android and iOS and certain apps are surely more fluid than others. It does come down to the developer and how they optimize their code for use. I can think of one example, Tasks n Todos is an amazing app for Android and is about as smooth of an experience as you can get. It doesnt stutter or suffer from any lag and it runs well on my thunderbolt. Its about the code not the OS people.

posted on 25 Jan 2012, 09:32 3

26. downphoenix (Posts: 3165; Member since: 19 Jun 2010)

that munn guy was probably paid off by Apple to say what he said.

posted on 25 Jan 2012, 09:47 1

29. Johnny_Mnemonic (Posts: 240; Member since: 05 Oct 2011)

Apple owns PA

posted on 26 Jan 2012, 02:01

58. vmaster (Posts: 31; Member since: 11 Dec 2011)

Disagree. I've been reading articles here for the past half a year, and PA are not biased about a particular OS, but are rather descriptive about each one, and almost always they don't make a final opinion about a particular product/OS/etc but rather leave it up to personal opinion of users.

posted on 25 Jan 2012, 09:51

30. Scott_H (Posts: 167; Member since: 28 Oct 2011)

Honestly, my Galaxy Nexus is every bit as smooth as my iPod touch (neither are perfectly smooth, and both pause every once in a while). I do think iPad's have been clearly superior to Honeycomb tablets in terms on interactivity, but moving to 4.0 and away from Tegra 2 should fix that.

Really, WP7 is the smoothest mobile OS I've used - if people really care more about UI smoothness than anything else they should check that out first. But in reality there are lots of ways to prioritize features in a mobile platform, and "smoothness" can be higher or lower on that list for different people.

posted on 25 Jan 2012, 10:49

34. bucky (Posts: 2563; Member since: 30 Sep 2009)

the fact that you said you NEXUS is smooth tells me to stop reading right there.

posted on 25 Jan 2012, 10:48 3

33. xx6static9xx (Posts: 4; Member since: 25 Jan 2012)

I personally think the main reason android lags so bad is because it has terrible memory leaks and leaves too many apps running in the background. You will find that without a built in task manager too many apps will be running at any giving time and drain all of your system memory. the average Android phone has 512 MB of system ram, upon booting up you will notice you will only have Aprox 260 MB free and that's not nearly enough given the amount of multi tasking users are trying to do without killing all the apps they are running. Upon booting iOS with the same 512 MB system memory you will notice you will be closer too 360 MB of system ram and iOS multi tasking just seem more seamless with the ability too easily kill apps without the need for a third party task manager.

Now on my XOOM Tablet I have 1 GB of system memory and things seem to run with a much better overall experience. I would complain about the memory leakage and overall lack of resource management without third party apps. So In my conclusion it all comes back too poor execution with bad memory management that will ultimately lead too a bad experience that could easily be fixed with some standardized management utilities that could run native within the OS its self.

Source : User who actually uses these devices and doesn't sit at a fancy desk processing number all day and lost touch with reality!

posted on 25 Jan 2012, 11:05 2

35. Evil_SaNz (Posts: 259; Member since: 20 Oct 2011)

I have here a 3gs ios5 and a galaxy s2 2.3.5. If this article was correct the samsung should lag indifferently to hardware and the iphone should be smoother with bad hardware.

I'm sorry but the iphone 3gs lags more. Try it by yourself. So hardware is a factor. We all know that android is a more complex os desktop wise so will be always resource hungry, but I don't think will always lag - I can't see any hiccups on a stock sgs2 if you leave out widgets and animated wallpapers (same as ios). Just lacks some fps for screen transitions that should be boosted with ics.

I'm sick of these smoothness tales. Maybe will be never smooth as ios but human eye won't see the difference. I bet in 2050 iphones will still have a 4x4 icon grid and ppl will still use default ringtones instead using what they prefer.

posted on 25 Jan 2012, 12:32 1

42. jove39 (Posts: 1856; Member since: 18 Oct 2011)

Yes hardware is a major factor...GNex shows lag with live wallpaper...but thats due to weak gpu...compare SGX543MP2 vs PowerVR SGX540

posted on 25 Jan 2012, 11:13

37. jove39 (Posts: 1856; Member since: 18 Oct 2011)

Well...I have used iphone4 and Galaxy S (vibrant) both...ios for most part is smooth...but it does lag and hangs rately...on the other hand...Android shows frequent lag...and rarely hangs...however...with voodoo kernel and ext4 based filesystem...it works just fine...smooth :)

posted on 25 Jan 2012, 11:58

40. bbblader (Posts: 590; Member since: 24 Oct 2011)

so finally someone else than mythbusters busted this myth?

posted on 25 Jan 2012, 15:34

46. 530gemini (Posts: 2198; Member since: 09 Sep 2010)

Oh well. Obviously, no one is really certain of what they're talking about. What a bunch of circus clowns.

I guess it's better to just speak for yourself. And as for me, although there are times that my ipad and iphone lags, overall, it offers a smooth experience. I have tried several android devices at stores, and their responsiveness just do not cut it for me. It's not as naturally responsive as idevices are. I guess that's the key to the idevice's smoothness. It feels more natural. But to each his own. If android works better for you, then by all means, keep your android device :)

posted on 25 Jan 2012, 21:19

52. BattleBrat (Posts: 1455; Member since: 26 Oct 2011)

This is probably the most logical post i've ever seen you put up.

posted on 25 Jan 2012, 18:07 2

47. gdzjuba (Posts: 2; Member since: 28 Dec 2011)

I have Galaxy Nexus for a month now. While ICS itself looks to me just a bit slower than iOS5 on iPhone 4s, MOST of apps I run on Nexus are somewhat slow, but I have not ever seen UI lags on iPhone 4. For example Engadget app news list scrolling is very stuttery/laggy on Nexus; the same goes to list in NPR news app. On iOS the same apps are just fine.

posted on 25 Jan 2012, 19:12

48. Johnny_Mnemonic (Posts: 240; Member since: 05 Oct 2011)

Gdzjuba So your saying is iPhone never lags. Yea right !!!

posted on 26 Jan 2012, 12:08

60. datsyuk (Posts: 179; Member since: 11 Jan 2012)

Go to developer options and enable force gpu rendering. Scrolling problem solved in apps like Facebook and engadget before they're updated.

posted on 26 Jan 2012, 16:48

61. gdzjuba (Posts: 2; Member since: 28 Dec 2011)

I have it already enabled :-(

posted on 25 Jan 2012, 20:18 1

49. lukasound (Posts: 152; Member since: 16 Nov 2011)

Rendering on iPhone? What is there to render? Just a bunch of icons overlayed on a static background...
Plus, no real multitasking to hog the resources...
Of course it doesn't lag! There is nothing there to lag!

posted on 25 Jan 2012, 20:58

50. belovedson (Posts: 988; Member since: 30 Nov 2010)

its unfortunate most of the itards will not read this article and will continue to argue that android phones are laggy, slow, improperly coded, etc.

posted on 26 Jan 2012, 00:09

53. bucky (Posts: 2563; Member since: 30 Sep 2009)

unfortunately, too many are slow and laggy-even alot of the new ones from 2011.

not itards, just average consumer with first impressions.

* Some comments have been hidden, because they don't meet the discussions rules.

Want to comment? Please login or register.

Latest stories