我在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。
当前回答
我注意到模拟器在一段时间内会变慢。因此,可以删除速度非常慢的仿真器,并在AVD管理器的帮助下创建一个新的仿真器。我试了几次,效果很好。
其他回答
英特尔于2012年5月15日发布了ICS仿真器的推荐安装说明。这对我有用。模拟器现在很快,UI也很流畅。
前半部分的说明足够详细,因此我假设您能够使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom System Image。
现在,为了确保其他一切都已设置,您可以享受高性能模拟器:
安装Intel硬件加速执行管理器(HAXM)
然后开始:
sudo kextload -b com.intel.kext.intelhaxm (mac)
如果HAXM工作正常,则在启动仿真器时可能会看到以下消息:
HAX正在工作,仿真器以快速虚拟模式运行
否则,您可能会看到以下错误:
HAX不工作,仿真器在仿真模式仿真器中运行:无法打开hax模块
使用GPU仿真。在撰写本文时,当使用GPU仿真时,不能使用快照选项。确保GPU仿真设置为“是”。将设备内存设置为1024 MB或更大,但不能超过Intel HAXM设置。我每个设备使用1024 MB,HAXM使用2048 MB。
保存后始终仔细检查设置!模拟器对它允许您设置的内容非常挑剔,它会在不告诉您的情况下恢复配置。
使用这些设置,软件键盘不再显示,屏幕上的后退键、菜单键和最近的键也不再显示。这似乎是当前ICS Intel x86系统映像的一个限制。您需要使用键盘快捷键。
在Mac OS上,您需要按住fn+控制键,F1-F12键才能工作。可以使用控制+箭头键执行向上/向下/向左/向右翻页。
您可以在GoogleI/O 2011:AndroidDevelopmentTools上回顾仿真器问题,开始0:40:20。
模拟器运行缓慢,因为整个Android环境在仿真硬件上运行,指令也在仿真ARM处理器上执行。
主要的瓶颈是渲染,因为它不在任何专用硬件上运行,但实际上是通过软件渲染执行的。减小屏幕大小将大大提高仿真器性能。获得更多/更快的内存不会有帮助。
当时他们已经提到,他们正在开发一种接口,允许仿真器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用仿真器的性能。
使现代化
现在,您可以为Android Emulator启用快速启动选项。这将保存仿真器状态,并将在下次启动时快速启动仿真器。
单击Emulator编辑按钮,然后单击显示高级设置。然后启用快速启动,如下图所示。
Android开发工具(ADT)9.0.0(或更高版本)有一个功能,允许您保存AVD(仿真器)的状态,您可以立即启动仿真器。您必须在创建新的AVD时启用此功能,或者您可以稍后通过编辑AVD来创建它。
此外,我还将设备RAM大小增加到1024,这导致了一个非常快的仿真器。
有关更多信息,请参阅下面的截图。
使用保存快照功能创建新的AVD。
从快照启动仿真程序。
关于加速模拟器,您可以参考加速Android模拟器!:
使用ssd硬盘影响太大,我建议使用更合适的ram(8或更高)
加快Android模拟器和应用程序测试的好方法是将Android Studio安装或升级到Android Studio 2.0版本,然后转到应用程序打开设置/首选项,转到构建、执行和部署→ 即时运行。单击启用即时运行。之后,这将确保您的项目有正确的grade插件来使用Instant Run。
即时运行将如下所示
然而,Android Studio现在正在预览中,您可以立即尝试。
是的,你是对的,因为原生android模拟器比其他自定义模拟器(如genymotion)慢得多。我在运行功能性calabash android测试时发现了这一点。
在本机android模拟器上,当发生“超时异常”时会产生此问题,因此我转到解决此问题的genymotion模拟器。
P.S:genymotion模拟器不再免费。