Why Android emulator/layout editor is too slow in comparison to iOS simulator/storyboard?

| | August 4, 2015

This is a conceptual question. It would be great if anyone could clarify the story behind.

I understand the difference between emulator and simulator.

emulator: mimics the device environment (hardware, network capability etc). More likely we will get a very close result in compare to device.

simulator: uses the running computer’s capability. Less likely to get close result to device, as the simulator is using computer’s hardware performance.

Android platform is open for developers since 2009 AFIK. Why after all these years the emulator is still (practically) unusable in compare to iOS simulator? Developers have to use either Genymotion or real device even for a small test. Even after HAXM or Snapshot enabled, Android emulator and iOS simulator are not even close to compare.

Another closely related question is, why the layout editor of Android is too slow and not smooth at all in comparison to iOS Storyboard.

I believe you would agree that ADT (Eclipse Based) layout editor was simply unusable. Android Studio is doing a much better job, but not up to the mark in any ways. Quite often it gets stuck on my MacBook Pro 2012 model when I edit XML side by side with Preview window.

I understand the Android studio has just been released officially a few months back, but we are talking about only Android specific features. Its not a new IDE from scratch, it has the advantage of all the features of a successful product IntelliJIDEA.

There is no way an Android dev could possibly get away without editing XML by hand, whereas an iOS dev could and that’s how the iOS ecosystem works. Now the iOS platform too has to deal with multiple sizes screen. So its not like Android platform is doing something substantially different, I guess.

Please pardon me for my poor English skill and beginner level knowledge. Just want to know the justifiable reasons/clarification, never meant to sound harsh or degrade Android ecosystem anyway.

(P.S: Primarily I am an Android app dev, recently started to learn iOS.)

Thanks in advance.

3 Responses to “Why Android emulator/layout editor is too slow in comparison to iOS simulator/storyboard?”

  1. Android Studio layout editor is really slow also, I think its design issue, and a lot of checks editor is doing and also some not fixed bugs on maybe related to OSX. Even App Code on OSX is really quick comparing to android studio what is same editor in core… Also build system gradle is terribly slow and this is also design issue… They choose slow technologies groovy I think, for build so now they will be searching for optimisations for rest of life… Well this is when somebody want to solve one problem just by blindly creating other… And emulator this is another story based on fundamental Android advantages and weaknesses also, I mean that android is based on java on open source libraries and also have to be available on multiple platforms, and also don’t caring about this issues on start at all… It is possible to solve some of this problems emulator can be somehow made like java application if there will be will to develop it but I highly don’t think anyone will do it , Genymotion is already decent in speed but incomparable to IOS emulator and x86 images runs quicker also but deployment of app still takes ages on based what I tested on OSX in android studio… I use Genymotion and Android Studio with all performance tuners available but have issue with performance and if you ever try to enable multidex support :)you will probably end like me that I had to remove some libraries and copy code from them to be able to build without multidex…

  2. Jeremy Huddleston Sequoia on November 30, -0001 @ 12:00 AM

    The iOS 8 Simulator is most of iOS 8 built for intel running with the OS X kernel. There are a small handful of other system daemons involved (fseventsd, coreaudiod, configd, and powerd), and we use the host libsyscall, libpthreads, and libplatfom libraries to communicate with xnu (with a small interposition layer), but for the most part, you are running the entire OS natively. It takes a few moments to boot the device (which consists of starting launchd and having it init the system just like on OS X or an iOS device), and after that, you’ve basically got a stripped down copy of iOS running natively on your system. There is no emulator involved, no instruction translation, no bytecode interpreter, no extra abstractions or translations. From the system’s perspective, the simulator processes are just like any other OS X process except that they link against a different set of libraries and have a different bootstrap server.

  3. iOS : X-code having inbuilt iOS SDK and Simulator. It is inbuilt functions with x-code. So it is working very fast.

    Android : In Eclipse, we are installing separate ADT, SDK and Emulator and all for Android Installation. It takes separate Memory in system.

    Android 5.0.1 SDK takes 12GB installation memory in your system. So if you are working in layout, it takes time load layout from SDK. Every time Eclipse will load to get Android working tools from SDK.

    So only Android taking too much to load, iOS is working very fast.

Leave a Reply