6 ms·
I love Android. I really only develop for Android. But to say the Android emulators are better than the iOS simulator (or even comparable) is hilarious to me.
by nucleardog 13y ago
I love Android. I really only develop for Android. But to say the Android emulators are better than the iOS simulator (or even comparable) is hilarious to me.
The reason everyone tests on hardware is because the emulator is %@$#ing slow. i7 @ 4.2GHz, 12 GB of RAM... the emulator still takes MINUTES to start and runs unusably slow.
The iOS Simulator on the MBP work gave me (mid-2010) runs at basically native speed.
I do some development with Cordova. During development I either test on my Android phone or an iOS simulator. Those are the only realistic options.
- charleslmunger 13y agoHave you tried using the x86 images with KVM? They're quite speedy.
- yla 13y agoHay. Have you tried Genymotion (http://www.genymotion.com/ http://www.genymotion.com/). It's really really fast. Currently, they only support for Android 4.+ emulators but they will support the lower api soon.
- antback 13y agotry using genymotion. it takes 20 seconds on my mbp to starting up.
- BitMastro 13y agoI'm always surprised when people complain about the slowness of the emulator and they haven't tried genymotion or the x86 emulator. I mean, they're tools developed for your job, learn to use them! It would be like coding using a plain text editor.. you can do it, but it's not what you're supposed to do.
- slewis 13y agoDid you think I said the Android emulator is better than the iOS one? I wasn't trying to say that. Maybe I confused the use of "simulator" v. "emulator". Agreed, the Android emulator sucks and I don't use it. One of its many flaws is that it doesn't support multicast, which is pretty much a requirement for doing device discovery in a remote control app.
- wldlyinaccurate 13y agoWith regards to the speed, that's because the Android emulator is an emulator - it's converting ARM instructions to x86. Because of this, the Android emulator is actually a better representation of how apps run on real hardware than the iOS simulator. There are x86 images available for the Android emulator, which will run as fast as your host machine will allow.
- threeseed 13y agoDoes real hardware convert x86 to ARM ? No. So remind me again what your point is ?
- wldlyinaccurate 13y agoWhat? I can't tell if you're trolling, but I'll answer anyway... The Android emulator allows you to run applications that were compiled for ARM because it translates the ARM instructions to x86. This is really CPU intensive and can eat a lot of memory as well. Technologies like Intel HAXM[0] speed this up, which is how the x86 Android images manage to be so much faster than the regular ARM images. [0]: http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/ http://software.intel.com/en-us/articles/intel-hardware-acce...
- clhodapp 13y agoI'm wondering whether you tried enabling acceleration (http://developer.android.com/tools/devices/emulator.html#acceleration http://developer.android.com/tools/devices/emulator.html#acc...). If not, you might find the speedup rather shocking.
- bjrnjs 13y agoIt does run on native speed - that's because it's a simulator and not an emulator. XCode compiles your source code to match your computer, not your phone, when you run the simulator. With Eclipse and ADT you build for an actual device, and then emulates the device running your app. That's why there's a speed difference. However, when building for connected devices - both XCode and Eclipse+ADT compiles and runs at the same speed IMO. The problem with the XCode approach is that some implementations can't be simulated (I remember trying to play a video from YouTube, embedded) - and needs an actual device to work. This hasn't happend with the Android emulator for me, because it actually behaves like a device.
- deleted 13y ago[deleted]