我在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。
当前回答
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
其他回答
加快Android模拟器和应用程序测试的好方法是将Android Studio安装或升级到Android Studio 2.0版本,然后转到应用程序打开设置/首选项,转到构建、执行和部署→ 即时运行。单击启用即时运行。之后,这将确保您的项目有正确的grade插件来使用Instant Run。
即时运行将如下所示
然而,Android Studio现在正在预览中,您可以立即尝试。
对于快速测试(<1秒),使用buildroid,VirtualBox的第一个网卡设置为“仅主机网络”,然后运行
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb connect *.*.*.*:5555
connected to *.*.*.*:5555
(^)DOS/bash(v)
# adb connect *.*.*.*:5555
connected to *.*.*.*:5555
其中*.*.*.*是通过单击buildroid主屏幕中的buildroid应用程序获得的buildroidIP地址。
您(旧)版本的Eclipse中包含的仿真器非常慢。
最近的模拟器比2010年的速度更快。更新SDK/IDE。
就我个人而言,我使用真实的手机进行测试。它更快,测试更真实。但是如果你想在很多不同的Android版本上测试你的应用程序,并且不想买几部手机,你就必须时不时地使用模拟器。
Emulator启动选项中描述的选项-cpu delay<delay>可以帮助您。
您可以使用以下命令创建仿真器.bat以启动仿真器。它会启动得更快。
emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>
或者在Unix(Mac或Linux风格)上:
emulator -cpu-delay 0 -no-boot-anim @<avd name>