9

Compared to the iPhone and Windows Phone 7 equivalents it's takes forever to start up - is it realistic to expect this to improve over time ?

the_void
  • 5,512
  • 2
  • 28
  • 34
Alan B
  • 4,086
  • 24
  • 33

2 Answers2

7

I wouldn't bet my money that it will improve significantly. That is because Android uses a QEMU-based emulator (compared to IPhone's simulator).

Because the IPhone is simulated, it can translate instructions to native processor code on the host machine, which is way faster than the QEMU alternative.

The great advantage with emulation is that the code that is run on the emulator si actually the code that will be running on the physical device, so a possible round of bugs is avoided.

Now, on improving the speed of the Android emulator, you could:

  • open the emulator and not close it for every launch; (re)installing an application in an open emulator is almost instantaneous

  • use the -no-boot-anim command line switch when starting the emulator; this will improve somewhat the startup time

  • use a real device to test your application with

the_void
  • 5,512
  • 2
  • 28
  • 34
  • Yeah I learned fairly quickly not to close it after every deploy! – Alan B Aug 17 '10 at 10:56
  • 1
    Android has a simulator lurking in the sources from the very early days (build the sim-eng target), but its use is deprecated and I don't think it has ever worked in the published sources (something breaks around release time and nobody notices). Even with tons of asserts and additional checks enabled it can reach the home screen in a few seconds. It's primarily useful for running valgrind. – fadden Aug 17 '10 at 21:34
  • Actually QEMU is binary translator (ie. what you call a 'simulator'), but the Android emulator is based on very old QEMU source and never picked any of the improvements made to the mainline QEMU. – Filip Navara Sep 15 '10 at 07:58
  • Recent versions of the SDK now provide the ability to save emulator state on exit, and restart the emulator from that snapshot, which has improved matters a lot. – Alan B May 06 '11 at 08:38
0

Also, if you right click on the process in the eclipse and select Disconnect it will greatly speed up the emulator, but of course you won't be able to debug.

swinefeaster
  • 2,525
  • 3
  • 30
  • 48