首页 文章

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

提问于
浏览
3176

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

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

即使它启动并加载主屏幕,它也非常缓慢 . 我在version 3.5(伽利略)和3.4(木卫三)中尝试了Eclipse IDE .

30 回答

  • 39

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

    Visual Studio Emulator for Android

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

  • 198

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

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

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

    这个模拟器快速响应 .

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

  • 43

    英特尔于2012年5月15日发布了recommended installation instructions for the ICS emulator . 这对我有用 . 模拟器现在很快,UI很流畅 .

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

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

    然后开始吧:

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

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

    HAX正在运行,仿真器以快速虚拟模式运行

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

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

    • Use GPU emulation. 在撰写本文时,使用GPU仿真时无法使用“快照”选项 . 确保GPU仿真设置为"yes" .

    • Set the device memory to 1024 MB or more ,但不超过Intel HAXM设置 . 我每台设备使用1024 MB,HAXM使用2048 .

    Always double-check the settings after saving! 模拟器非常挑剔它允许您设置的内容,它将在不告诉您的情况下还原配置 .

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

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

  • 119

    我在加载Eclipse(3.6.1)的Xubuntu 10.04 VirtualBox 3.2.12 guest上运行的Intel Core i7 920 2.67 GHz CPU上有间歇慢速仿真器(SDK v8.0)加载时间,最多三分钟 . 我将VirtualBox guest虚拟机内存从1024 MB更改为2048 MB,从那时起,我再也没有遇到过缓慢(加载时间一致为33秒,CPU负载一致为20%) . Eclipse和模拟器都是内存生成器 .

  • 16

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

    这使得动画黄油变得平滑并且加速了十倍 .

  • 15

    试试Genymotion for Android Studio . 炽热快!只需要一次安装 . 没有更多的AVD疼痛 .

  • 25

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

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

    有关详细信息,请参阅Android模拟器文档中的以下部分:Configuring Virtual Machine Acceleration

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

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

    例如:

    • 目标:英特尔凌动x86系统映像 - API级别10

    • CPU / ABI:Intel Atom(x86)

  • 1092

    尝试禁用您的防病毒软件 . 也许它会使模拟器更快一点 .

  • 307

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

  • 43
  • 99

    这是我注意到没人提到的 .

    Assign all available processors to the emulator

    这是你可以尝试的 . 它确实为我加速了模拟器,特别是在加载时 . 我注意到模拟器只使用可用CPU的单核 . 我将其设置为使用所有可用的处理器 .

    我正在使用Windows 7 .

    当Android模拟器启动时,打开任务管理器,在Process选项卡下查找“emulator-arm.exe”或“emulator-arm.exe * 32”...右键单击它,选择Processor Affinity并为仿真器分配尽可能多的处理器 .

    Enter image description here

  • 130

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

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

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

  • 58

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

  • 27

    仿真器很慢 . 你真的无能为力,但有模拟器的替代品 .

    为了使您的模拟器更快,您可以托管GPU并使用更轻的Android版本(Android 2.3(Gingerbread)) . 在Mac上进行开发会更好 . 为什么要使用模拟器,BTW?使用真正的手机更有意义 .

  • 28

    要向此添加更多信息 .

    我最近将我的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 .

  • 20

    Android模拟器版本9具有新的"snapshot"功能 . 您可以save the state of the emulator(制作模拟器的图像)并避免在启动模拟器时启动 .

  • 25

    较旧的Android版本运行速度更快 . 当我在上网本上时,我使用Android 1.5(API级别3) . 但是有一些缺点 - 你的应用程序需要支持旧平台(显然),而ndk-gdb需要运行Android 2.2(API级别8)或更高版本 . 但无论如何,定期针对旧平台测试应用程序是一个好主意 .

  • 103

    IMPORTANT NOTE :请 first 参考the Intel list about VT以确保您的CPU支持Intel VT .

    HAXM加快了慢速Android模拟器的速度

    HAXM 代表 - "Intel Hardware Accelerated Execution Manager"

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

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

    HAXM

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

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

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

    Enter image description here

    • 下载 x86 Atom System ImagesIntel Hardware Accelerated Execution Manager Driver . 请看下图:

    Enter image description here

    • 运行“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中启用此功能 . 请参阅Enabling Intel VT (Virtualization Technology)中有关如何执行此操作的说明 .

    Install .exe or .dmg

    • 创建新的x86 AVD:请按照下图显示:

    Create AVD

    • 或者对于新的SDK,
      Enter image description here
  • 26

    好吧,既然有人建议将Android x86作为替代测试模拟器,我也会提出我的最爱 . 这可能不是另类适合所有人,但对我来说这是完美的!

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

    adb connect 127.0.0.1
    

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

  • 17

    Emulator Startup Options中描述的选项 -cpu-delay <delay> 可以提供帮助 .

  • 14

    使用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),可能无法在某些系统上运行 .

  • 32

    要减少仿真器启动时间,需要在启动仿真器之前检查"Disable Boot Animation" . 请参阅the Android documentation .

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

    以下是加速Android模拟器的一些提示:How to speed up the Android Emulator by up to 400% .

  • 1352

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

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

  • 18

    在开发了一段时间之后,我的模拟器变得非常慢 . 我选择 wipe user data ,它好多了 . 我猜你需要花时间加载你部署的每个APK文件 .

  • 580

    Update

    您现在可以为Android Emulator启用“快速启动”选项 . 这将保存模拟器状态,它将在下次启动时快速启动模拟器 .

    单击“模拟器”编辑按钮,然后单击“显示高级设置” . 然后启用 Quick Boot ,如下面的截图 .

    Quick boot

    Android Development Tools (ADT) 9.0.0(或更高版本)具有允许您保存AVD(模拟器)状态的功能,您可以立即启动模拟器 . 您必须在创建新AVD时启用此功能,或者稍后可以通过编辑AVD来创建它 .

    此外,我已将 Device RAM Size 增加到 1024 ,这会导致模拟器速度非常快 .

    有关更多信息,请参阅下面给出的屏幕截图 .

    使用保存快照功能创建新的AVD .

    Android emulator with save snapshot feature.

    从快照启动模拟器 .

    Launching the emulator from the snapshot.

    为了加速你的模拟器你可以参考Speed up your Android Emulator!

  • 29

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

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

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

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

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

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

    要启用GPU aceleration,请从命令行运行模拟器,或将"-gpu on"添加到AVD配置中的其他模拟器命令行选项 .

    emulator -avd <avd_name> -gpu on
    

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

  • 13

    您可以在Google I/O 2011: Android Development Tools谈话中查看模拟器问题,从0:40:20开始 .

    模拟器运行缓慢,因为完整的Android环境在模拟硬件上运行,并且指令也在模拟的ARM处理器上执行 .

    主要的窒息点是渲染,因为它不是在任何专用硬件上运行,但它实际上是通过软件渲染来执行的 . 降低屏幕尺寸将大大提高仿真器性能 . 获得更多/更快的内存无济于事 .

    他们当时提到他们是开发一个允许模拟器通过主机硬件管道某些指令的接口,因此最终,您将能够利用桌面硬件的原始功能来利用模拟器性能 .

  • 32

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

    观看视频Google I/O 2011: Android Development Tools以查看它的实际效果 - 跳转到大约44分钟 .

  • 47

    试试Android x86 . 它比谷歌Android模拟器快得多 . 跟着这些步骤:

    • 安装VirtualBox .

    • 下载您需要的ISO file .

    • 创建一个虚拟机,如Linux 2.6 /其他Linux,512 MB RAM,HD 2 GB . 网络:PCnet-Fast III,附于NAT . 您也可以使用桥接适配器,但在您的环境中需要DHCP服务器 .

    • 在模拟器上安装Android x86,运行它 .

    • 按Alt F1,键入 netcfg ,记住IP地址,按Alt F7 .

    • 在Windows XP系统上运行cmd,将目录更改为Android工具目录,键入 adb connect <virtual_machine_IP> .

    • 启动Eclipse,打开ADT插件,找到设备,享受!

相关问题