7

How come iOS's emulator is faster than Android's? I'm using the iOS emulator on a less-able Mac and it's far smoother than Android's emulator which is running on a laptop with greater specs than the Mac.

I've read somewhere that it's because Android emulates ARM, whereas, iOS runs it natively in OS X. So how come Android emulators are not just made to directly run like iOS? I know nobody can truly answer this but still. I hope someone can shed some light on this rather frustrating issue.

E_net4
  • 27,810
  • 13
  • 101
  • 139
Propeller
  • 2,465
  • 6
  • 35
  • 49

3 Answers3

10

Because the iOS "emulator" is not an emulator... it's a simulator.

From this answer:

the difference between emulators and simulators is that emulators mimic the software and hardware environments found on actual devices. Simulators, on the other hand, only mimic the software environment; they otherwise have access to all of the host system's hardware resources such as disk space, memory and processor speed.

Community
  • 1
  • 1
BoltClock
  • 700,868
  • 160
  • 1,392
  • 1,356
  • The big advantage of having a emulator(android) is that you can use it for testing and trust that what you see is what you get (because it is). With a simulator(iOS) you can't trust that will be the case. Anyway people should always use a phone for proper testing. – Warpzit Aug 28 '12 at 07:36
  • 1
    @Warpzit - Don't you have that backwards? – Ted Hopp Aug 28 '12 at 07:38
  • The drawback of using a simulator is that your programm can run much more faster on your simulator than on your actual device. – VinceFR Aug 28 '12 at 07:38
  • Nowadays they are both simulators. At least Android "emulator" that comes with Android Studio requires apps built for x86 platform, and can't run native ones. However, there are true Android emulators out there, like BlueStacks. – metalim Aug 30 '19 at 16:02
  • I really wish android have simulators too; light, fast and simple as iOS simulator; then when we need more real stuff we just use our hardware devices. – buncis Sep 06 '19 at 12:21
1

For faster emulator check this link and section about Intel VT:
http://developer.android.com/tools/devices/emulator.html
You can also speed up emulator using GPU acceleration (Section Configuring Graphics Acceleration) or this blog article (which also answers your question and explain difference between x86 and ARM "emulation" in Android environment):
http://android-developers.blogspot.cz/2012/04/faster-emulator-with-better-hardware.html

Warlock
  • 2,481
  • 4
  • 31
  • 45
0

iOS uses simulator and Android uses emulator

emulator have to emulate a special environment(e.g. Android OS) it means that you have a copy of real third party OS which is run on different architecture(arm) that is why a kind of virtual box is used. The biggest advantage is that you can rely and use emulator as an alternative for real device for testing

simulator - run native(x86) instructions on native arch(x86). that is why there are two different builds for simulator and real device. Advantage is that it has better usability

yoAlex5
  • 29,217
  • 8
  • 193
  • 205