为什么Android模拟器这么慢? 我们如何加快Android模拟器的速度?




performance android-emulator (20)

使用Intel x86仿真器加速器

首先,安装Intel x86仿真器加速器(HAXM)。 这可以直接从英特尔下载或使用Android SDK Manager下载。 在SDK Manager中,它位于Extras下。

在我使用的Android Studio版本(0.8.9)中,Android SDK Manager下载了HAXM,但实际上并没有运行安装程序(我假设这将在以后的版本中修复)。 要运行已安装的我必须转到C:\ Program Files(x86)\ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager并手动启动intelhaxm.exe。

HAXM与英特尔设备配合使用,因此创建了一个带有英特尔CPU的新仿真器。

使用Intel Atom x86创建新的AVD

这大大改善了一些事情,但模拟器仍然感觉有些迟钝。 最后一步是在Android虚拟设备管理器(AVD)中选择使用主机GPU。

在这些更改之后,Android Emulator在5-10秒内启动并且运行时没有任何明显的延迟。 请注意,这些功能与硬件有关(CPU / GPU),可能无法在某些系统上运行。

https://code.i-harness.com

我在x86 Windows XP Professional机器上有一个2.67 GHz Celeron处理器和1.21 GB RAM。

我的理解是Android Emulator应该在这样的机器上相当快地启动,但对我来说,它不会。 我已经按照设置IDE,SDK,JDK等的所有说明进行操作,并且在快速启动模拟器方面取得了一些成功,但这种情况非常罕见。 如果可能的话,我怎样才能解决这个问题?

即使它启动并加载主屏幕,它也非常缓慢。 我在3.5版 (Galileo)和3.4版 (Ganymede)中尝试过Eclipse IDE


Android SDK rev。 17支持使用AMD和Intel虚拟化技术的虚拟机加速。

此功能可以大大提高仿真器的性能!

有关更多详细信息,请参阅Android模拟器文档中的以下部分: 配置虚拟机加速

不要忘记为您的操作系统安装适当的驱动程序:

安装驱动程序并下载Android X86系统映像后(如文档中所述),您应该能够使用x86映像创建新的AVD:

例如:

  • 目标:英特尔凌动x86系统映像 - API级别10
  • CPU / ABI:Intel Atom(x86)

Eclipse(旧版)Eclipse中包含的模拟器非常慢。

最近的模拟器比2010年更快。更新SDK / IDE。

就个人而言,我使用真正的手机进行测试。 它更快,测试更真实。 但是如果你想在很多不同的Android版本上测试你的应用程序并且不想购买几部手机,你将不得不经常使用模拟器。



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

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

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

这个模拟器快速响应。

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


重要说明 :请首先参阅有关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系统映像Intel硬件加速执行管理器驱动程序 。 请看下图:

  • 通过运行“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启用此功能。 请参阅启用Intel VT(虚拟化技术)中有关如何执行此操作的说明。

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

  • 或者对于新的SDK,

从Android SDK Tools的第17版开始,模拟器可以使用图形加速和CPU提供的扩展来提高效率。 先决条件和完整配置以及用户注释位于:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

要启用GPU备用,请从命令行运行仿真器或将“-gpu on”添加到AVD配置中的其他仿真器命令行选项。

emulator -avd <avd_name> -gpu on

要使用CPU机器扩展,必须安装驱动程序(请注意,因为它可能与现有的VirtualBoxVMware驱动程序冲突)。 安装完成后,只要您使用基于x86的AVD,它就会自动使用。



当前(2011年5月)模拟器的版本很慢,特别是对于Android 3.0(Honeycomb),主要是因为模拟器不支持硬件GL - 这意味着GL代码被转换为软件(实际上是ARM软件)然后获得在QEMU软件模拟。 这很疯狂。 他们正在解决这个问题并将其部分解决,但没有任何类型的发布质量。

查看视频Google I / O 2011:Android开发工具 ,了解它的实际效果 - 跳转到大约44分钟。


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

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

或者在Unix(Mac或Linux版本)上:

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

我注意到如果没有连接Dalvik Debug Monitor Server(DDMS),模拟器的启动速度会快得多。 因此,如果从Virtual Device Manager“SDK Setup.exe”启动模拟器并且Eclipse未启动,则模拟器的工作速度会更快。

如果你从Eclipse启动模拟器:DDMS就在那里,所以有时候模拟器非常慢,但有时它会更快。


模拟器似乎在空闲时放慢速度。 通过快速将鼠标放在侧面的键上并观察点亮响应,可以明显看出这一点。 作为一种解决方法,我在启动模拟器时将-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十倍。


英特尔于2012年5月15日发布了ICS仿真器的推荐安装说明 。这对我有用。 模拟器现在很快,UI很流畅。

上半部分说明已经足够详细,因此我假设您可以使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom系统映像。

现在确保设置其他所有内容,以便您可以享受高性能的模拟器:

然后开始吧:

sudo kextload -b com.intel.kext.intelhaxm (mac)

如果HAXM工作正常,您可能会在启动模拟器时看到此消息:

HAX正在运行,模拟器以快速virt模式运行

否则您可能会看到此错误:

HAX无法正常工作,仿真器在仿真模式仿真器中运行:
无法打开hax模块

  • 使用GPU模拟。 在撰写本文时,使用GPU仿真时无法使用“快照”选项。 确保GPU仿真设置为“是”。

  • 将设备内存设置为1024 MB或更多 ,但不超过Intel HAXM设置。 我每台设备使用1024 MB,HAXM使用2048。

保存后请务必仔细检查设置! 模拟器对于它允许您设置的内容非常挑剔,它将在不告诉您的情况下还原配置。

使用这些设置,软件键盘不再出现,屏幕后退,菜单和最近的键也不再出现。 这似乎是当前ICS Intel x86系统映像的限制。 您需要使用键盘快捷键

在Mac OS上,您需要按住fn + control才能使F1 - F12键正常工作。 可以使用控制+箭头键执行向上/向下/向左/向右翻页。


要向此添加更多信息。

我最近将我的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和为仿真器分配尽可能多的处理器。


Android模拟器死得很慢。运行时需要800MB内存。如果您使用的是Windows,则可以使用Microsoft Android Emulator。它非常棒,为您提供比Android Studio Emulator更多的功能。最重要的是它很快(仅消耗13MB)。它附带Visual Studio 2015技术预览版。我正在使用它并对它感到高兴。我下载并安装了整个VS包,我需要看看我们如何才能安装VS Emulator。

适用于Android的Visual Studio模拟器

编辑:尝试https://www.visualstudio.com/vs/msft-android-emulator/


好吧,既然有人建议Android x86作为替代测试模拟器,我也会提出我最喜欢的。这可能不是每个人的替代品,但对我来说它是完美的!

使用Bluestacks播放器。它运行Android 2.3.4并且非常流畅和快速。有时甚至比普通设备更快。唯一的缺点是,您可以只在一个屏幕尺寸上测试API级别10上的应用程序,但它非常适合测试它是否正常工作。与只需连接播放器adb运行

adb connect 127.0.0.1 

编译后,它会立即安装。考虑到我有相当普通的计算机硬件(具有4 GB RAM的双核),这是非常令人印象深刻的。


尝试使用genymotion.com for Android Studio。炽热快!只需要一次安装。没有更多的AVD疼痛。


我注意到我的模拟器(Eclipse插件)因我的Nvidia显卡抗锯齿设置而显着减慢。从图形菜单中删除2x抗锯齿并将其更改为应用程序控制使其响应更快。它仍然很慢,但比以前更好。


要减少仿真器启动时间,需要在启动仿真器之前检查“禁用启动动画”。请参阅Android文档

如果您不知道,则每次运行/调试应用程序时都不需要关闭模拟器。如果您在打开时单击运行/调试,您的APK文件将上传到模拟器并立即启动。仿真器只在第一次启动时才会花费很长时间。

以下是加速Android模拟器的一些提示:如何将Android模拟器加速高达400%







qemu