为什么Android模拟器如此缓慢? 我们如何加快Android模拟器?



Answers

重要提示 :请先参考英特尔关于VT的列表 ,以确保您的CPU支持英特尔VT。

HAXM加快了Android模拟器的速度

HAXM代表 - “英特尔硬件加速执行管理器”

目前它仅支持英特尔®VT(英特尔虚拟化技术)。

Android模拟器基于QEMU 。 QEMU和主机系统上的HAXM驱动程序之间的接口设计为与供应商无关。

为HAXM配置Android开发环境的步骤

  1. 更新Eclipse:确保您的Eclipse安装和ADT插件完全是最新的。

  2. 更新您的Android工具:在每次Eclipse插件更新后,更新您的Android SDK工具非常重要。 为此,启动Android SDK Manager并更新所有Android SDK组件。 要利用HAXM,您至少必须发布版本17。

  • 下载x86 Atom系统映像英特尔硬件加速执行管理器驱动程序 。 按照下面的图片:

  • 运行“IntelHaxm.exe”来安装HAXM驱动程序。 它将位于以下位置之一:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    如果安装程序失败并显示必须启用Intel VT的消息,则需要在BIOS启用此功能。 请参阅有关如何在启用英特尔VT(虚拟化技术)中执行此操作的说明。

  • 创建一个新的 x86 AVD:按照下面的图片:

  • 或者对于新的SDK,
Question

我在x86 Windows XP Professional机器上安装了2.67 GHz Celeron处理器和1.21 GB RAM。

我的理解是, Android模拟器应该在这样的机器上相当快地启动,但对我而言,它不会。 我已经遵循了设置IDE,SDK,JDK等的所有说明,并且已经在快速启动仿真器方面取得了一些成功,但这非常罕见。 如果可能的话,我该如何解决这个问题?

即使它启动并加载主屏幕,它非常缓慢。 我已经尝试过版本3.5 (伽利略)和3.4 (Ganymede)中的Eclipse IDE




模拟器似乎在闲置时放慢速度。 快速将鼠标悬停在侧面的钥匙上并观察亮起的响应,就可以看出这一点。 作为一种解决方法,我在启动模拟器时将-icount auto传递给QEMU 。 您可以创建一个名为my_avd.bat的批处理文件为您执行此操作:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - 启动一个名为'my_avd'的虚拟设备
  • -no-boot-anim - 禁用动画以加快启动
  • -qemu args... - 将参数传递给qemu
  • -icount [N|auto] - 启用每条指令具有2 ^ N个时钟滴答的虚拟指令计数器

这使动画黄油顺利加速adb install十倍。




更新:最新版本的Android studio(2.x)对捆绑仿真器进行了重大改进。 它具有响应能力,并具有一大堆功能。

对于那些仍然感兴趣的人:尝试使用Genymotion 。 您可以在注册后下载适用于Windows / Mac OS X / Linux的版本。 Eclipse的插件也可用:

插件的安装可以通过启动Eclipse并转到“帮助/安装新软件”菜单,然后使用以下URL添加新的更新站点: http://plugins.genymotion.com/eclipse : http://plugins.genymotion.com/eclipse 。 按照Eclipse指示的步骤操作。

这个模拟器速度快,响应速度快。

GenyMotion允许您控制设备的各种传感器,包括电池电量,信号强度和GPS。 最新版本现在还包含相机工具。




目前(2011年5月)版本的仿真器速度较慢,特别是Android 3.0(Honeycomb),主要是因为仿真器不支持硬件GL--这意味着GL代码被转换为软件(实际上是ARM软件)在QEMU软件模拟。 这太疯狂了 - 很慢。 他们正在研究这个问题,并且部分解决了这个问题,但是没有任何发布质量。

查看视频Google I / O 2011:Android开发工具以查看它的行动 - 跳到大约44分钟。




为此添加更多信息。

我最近将Ubuntu安装升级到了Ubuntu 10.04 LTS(Lucid Lynx),后者又将我的Java版本更新为:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

现在模拟器(虽然需要一段时间才能开始)似乎比以前运行得更快。

人们可能需要升级他们的JVM。




这是我注意到的,没有人提到它。

将所有可用的处理器分配给仿真器

这是你可以尝试的。 它加快了我的模拟器速度,尤其是在加载时。 我注意到仿真器仅使用可用CPU的单个内核。 我将它设置为使用所有可用的处理器。

我正在使用Windows 7。

当Android模拟器启动时,打开任务管理器,在Process标签下查找“emulator-arm.exe”或“emulator-arm.exe * 32”...右键单击它,选择Processor Affinity和根据需要将尽可能多的处理器分配给仿真器。




模拟器的启动非常慢。 好处是你只需要启动一次仿真器。 如果模拟器已经在运行,并且您再次运行您的应用程序,则模拟器会相对快速地重新安装应用程序。 当然,如果你想知道它在手机上的运行速度有多快,最好在真实的手机上进行测试。




I noticed that the my emulator ( Eclipse plugin) was significantly slowed by my Nvidia graphics card anti-aliasing settings. Removing 2x anti aliasing from the graphics menu and changing it to application controlled made it more responsive. It is still slow, but better than it used to be.




The older Android versions run a lot faster. When I'm on my netbook, I use Android 1.5 (API level 3). There are a couple of drawbacks, though--your apps need to support the older platforms (obviously), and ndk-gdb requires running Android 2.2 (API level 8) or higher. But regularly testing apps against older platforms is a good idea anyway.







尝试禁用您的防病毒。 也许它会让模拟器更快一点。




您可以使用以下命令创建emulator.bat以启动模拟器。 它会开始更快。

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

或者在Unix上(Mac或Linux):

emulator -cpu-delay 0 -no-boot-anim @<avd name>



I had intermittent slow emulator (SDK v8.0) load times, up to three minutes on Intel Core i7 920 2.67 GHz CPU running on Xubuntu 10.04 VirtualBox 3.2.12 guest with Eclipse (3.6.1) loaded. I changed the VirtualBox guest memory from 1024 MB to 2048 MB and from that point on, I never experienced the slowness again (load times consistent at 33 seconds, CPU load consistent at 20%). Both Eclipse and the emulator are memory hogs.




开发了一段时间后,我的模拟器变得非常慢。 我选择了擦除用户数据 ,而且好得多。 我猜测,加载已部署的每个APK文件需要一些时间。







Related