让Android模拟器运行得更快

Android模拟器有点呆滞。 对于某些设备,如Motorola Droid和Nexus One,该应用在实际设备中的运行速度要高于仿真器。 测试游戏和视觉效果时,这是一个问题。

你如何让仿真器尽可能快地运行? 我一直在玩弄它的参数,但还没有找到显示出明显改进的配置。


官方网页

〜快50%

视窗:

  • 安装“Intel x86 Emulator Accelerator(HAXM)”=> SDK-Manager / Extras
  • 安装“Intel x86 Atom System Images”=> SDK-Manager / Android 2.3.3
  • 转到Android SDK根文件夹并导航到extras intel Hardware_Accelerated_Execution_Manager。 执行文件IntelHaxm.exe进行安装。 (在Android Studio中,您可以导航到:设置 - > Android SDK - > SDK工具 - > Intel x86 Emulator Accelerator(HAXM安装程序))

  • 用“Intel atom x86”CPU / ABI创建AVD

  • 运行模拟器并检查HAXM运行的控制台(打开命令提示符窗口并执行命令:sc query intelhaxm)
  • 在这里输入图像描述

    另外不要忘记安装这个

    在这里输入图像描述

    PS在AVD创建期间添加仿真内存:硬件/新建/设备RAM大小/设置值512或更多

    Linux的:

  • 安装KVM:打开GOOGLE,编写“kvm installation”
  • 用“Intel atom x86”CPU / ABI创建AVD
  • 从命令行运行:emulator -avd avd_name -qemu -m 512 -enable-kvm
  • 或从Eclipse运行:运行/运行配置/选项卡“目标” - >检查Intel x86 AVD并在“其他模拟器命令行选项”窗口中添加:-qemu -m 512 -enable-kvm(单击运行)
  • 在这里输入图像描述

    PS对于Fedora,适用于Ubuntu

    OS-X:

  • 在Android SDK Manager中,安装Intel x86 Atom系统映像
  • 在Android SDK Manager中,安装Intel x86 Emulator Accelerator(HAXM)
  • 在finder中,转到Intel Emulator Accelerator的安装位置并安装IntelHAXM(打开dmg并运行安装)。 您可以通过将鼠标放在SDK管理器中的仿真器加速器条目上找到该位置。
  • 创建或更新AVD并将Intel Atom x86指定为CPU。 英特尔x86模拟器加速器(HAXM)显示位置
  • PS:检查这个工具,甚至试用都很方便


    更新:现在有一个Intel x86映像可用,最好的答案是通过上面的热心。

    正如CommonsWare已经正确指出的那样,仿真器速度很慢,因为它模拟了一个ARM CPU,它需要转换到Intel操作码。 这种虚拟化咀嚼CPU。

    为了使模拟器更快,你必须给它更多的CPU。 如果可以的话,从一个快速的CPU或升级开始。

    然后,给模拟器更多的CPU:

  • 禁用超线程 - 由于仿真器似乎不使用多个内核,因此超线程实际上会减少模拟器获得的总CPU时间。 禁用HT会减慢利用多个CPU的应用程序的速度。 您的BIOS中必须禁用超线程。
  • 让仿真器在CPU 0以外的CPU上运行 - 这比关闭HT的影响要小得多,但它有一定帮助。 在Windows上,您可以指定运行哪个CPU。 许多应用程序会嚼碎CPU 0,默认情况下仿真器在CPU 0上运行。我将仿真器更改为在最后一个上运行。 请注意,在OS X上,您无法设置关联(请参阅:https://superuser.com/questions/149312/how-to-set-processor-affinity-on-a-mac)。
  • 我看到在这两个改变的地方大约有50%的改善

    在Windows 7上设置处理器亲和力:

  • 打开任务管理器
  • 单击查看所有进程(以管理员身份运行,否则无法设置处理器关联)
  • 右键单击emulator.exe并选择Set Affinity ...
  • 在Set Affinity对话框上,只选择最后一个CPU
  • 注意:以这种方式更改关联性时,只会在流程的整个生命周期中进行更改。 下一次开始,你必须再次做。

    在这里输入图像描述


    我想建议给Genymotion一个旋转。 它运行在Oracle的VirtualBox中,并将在一个中等系统上合法地达到60 fps。

    下面是我的一个研讨会的屏幕截图,运行在2012年低端型MacBook Air上:

    Nexus 7仿真器以56.6 fps运行

    如果您无法阅读文本,则它是以56.6 fps运行的Nexus 7仿真器。 额外的(大!)奖金是Google Play和Google Play服务与虚拟机一起打包。

    (演示动画的来源可以在这里找到。)

    链接地址: http://www.djcxy.com/p/90525.html

    上一篇: Making the Android emulator run faster

    下一篇: Failed to allocate memory: 8