4 ms·
It's great that they improved Android emulator performance. Major frustration when developing Android apps is all the time spent waiting for the emulator or dev
by DCKing 11y ago
It's great that they improved Android emulator performance. Major frustration when developing Android apps is all the time spent waiting for the emulator or device deployment.
What always mystifies me about Android development is that there's no equivalent of the iPhone simulator (not emulator) of iOS development. I mean, Google has a perfectly fast Android runtime that allows you to run apps directly on your desktop at native speeds. It's currently built into Chrome OS, is already cross platform [0], and while it obviously doesn't give you to access some phone hardware features, it should be perfectly adequate for 90% of development scenarios. Why doesn't Google leverage that for click-and-run Android development?
[0]: https://github.com/vladikoff/chromeos-apk/blob/master/archon.md https://github.com/vladikoff/chromeos-apk/blob/master/archon...
- gregschlom 11y agoI may be totally wrong on this but I was under the impression that since Google started publishing x86 builds of Android the "emulator" is now much more like a simulator (unless you choose to run the ARM version, of course). The thing that makes the emulator really slow is when it has to emulate ARM instructions on an x86, but if you pick an x86 arch then you're basically just running a VM, which should be comparable in perf to the iOS simulator. Again, just guessing here, please correct me if I'm wrong.
- umanwizard 11y agoThe iOS simulator isn't an emulator, though. It's running the apps as regular, native process on the OS X host. There's no VM. The perf difference isn't as major as between x86-on-x86 virtualization and arm-on-x86 full blown emulation, but the difference is still there.
- rubber_duck 11y agoIs virtualization cost that bad ? If the GPU drivers are good it should not be over 2-3x - which - when considering you are emulating mobile phone on a at least 2-3x more powerful hardware - should be perfectly acceptable. ARM emulation is probably an order of magnitude slower
- DCKing 11y agoAndroid apps still run quite slow on the x86 Android emulator. I suspect that this is because CPU emulation is only one part of full emulation of an Android system. When running Android apps using the Chrome runtime, apps run blazingly fast, since it just calls directly into the native OS / the Chrome runtime for any native acceleration feature it requires. It also doesn't run in a full-blown virtual machine as the emulator does. As the other reply points out, the iOS emulator also doesn't emulate a full system. It just runs the required iOS APIs directly on OS X, just to give you an idea of a running app and the progress you're making on a feature. Again, for most development scenarios that is really all you need (and you use an actual device for more thorough testing or when you need hardware features).
- whatever_dude 11y ago> I was under the impression that since Google started publishing x86 builds of Android the "emulator" is now much more like a simulator (unless you choose to run the ARM version, of course). They're both still emulators. The difference is that when using x86 images, it now uses fast, hardware-accelerated virtualization under the right conditions (e.g. HAXM[1]) so it doesn't feel like there's a fat middle layer anymore. Virtualization has come a long way in recent years, and the new emulator reflects that. Of course, there's still major hurdles when emulating different architectures, so ARM emulation is still a pain. [1] https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager https://software.intel.com/en-us/android/articles/intel-hard...
- deleted 11y ago[deleted]
- shams93 11y agoYeah thats why ive found myself moving to AIDE in my remix os box runs the app right on the device but the mouse and keyboard make AIDE much more effective than using with my phone.