我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。
我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。
我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。
我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。
当前回答
较旧的Android版本运行速度更快。当我使用上网本时,我使用Android 1.5(API级别3)。但也有一些缺点——你的应用程序需要支持较旧的平台(显然),ndk-gdb需要运行Android 2.2(API级别8)或更高版本。但无论如何,定期在旧平台上测试应用程序是一个好主意。
其他回答
您可以尝试我们的新Android虚拟机Leapdroid,它与原始的Android模拟器完全兼容。由于它使用虚拟化技术而不是仿真,因此它提供了相当高的原生速度。此外,我们使用了一种名为LeapGL的新OpenGL技术,它以原生速度执行OpenGL图形。与其他vm相比,我们的vm具有最好的性能。
http://www.leapdroid.com
源代码:https://github.com/leapdroid
Leapdroid与Eclipse和AndroidStudio完全兼容,因为它使用相同的adb端口。
首先,您需要将RAM升级到至少8GB。
如果无法升级RAM,请尝试在Android手机上运行应用程序,方法是通过数据线连接,并将USB调试设置为on。
此外,您可以使用一些其他模拟器,如GenyMotion或Nox。
然而,由于您似乎拥有大量的RAM,即使是其他仿真器也可能会变得缓慢。
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
如果您有Intel CPU,请安装Intel Hardware Accelerated Execution Manager。
然后在“仿真器设置”中将其指定为仿真器的CPU。当我在Core i7 CPU上完成这项工作时,大约需要10分钟。现在它将在15秒内打开。
为了获得更好的体验,我推荐shop.genymotion.com授权的genymotion。如果你想测试它,首先你可以在这里得到genymotion