繁体   English   中英

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

[英]Why is the Android emulator so slow? How can we speed up the Android emulator? [closed]

我在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 Emulator 启用快速启动选项。 这将保存模拟器状态,并在下次启动时快速启动模拟器。

单击 Emulator 编辑按钮,然后单击Show Advanced Setting 然后像下面的截图一样启用Quick Boot

快速启动

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

此外,我已将Device RAM Size增加到1024 ,这导致了非常快的模拟器。

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

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

具有保存快照功能的 Android 模拟器。

从快照启动模拟器。

从快照启动模拟器。

对于加速您的模拟器,您可以参考加速您的 Android 模拟器!

使用ssd硬盘影响太大,我建议使用更合适的ram(8或更高)

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

HAXM 加速了缓慢的 Android 模拟器

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

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

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

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

安装 .exe 或 .dmg

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

创建 AVD

  • 或者对于新的SDK,在此处输入图片说明

尝试Android x86 它比谷歌安卓模拟器快得多。 按着这些次序:

  1. 安装VirtualBox
  2. 下载您需要的ISO 文件
  3. 创建一个虚拟机为 Linux 2.6/Other Linux,512 MB RAM,HD 2 GB。 网络:PCnet-Fast III,连接到NAT 您也可以使用桥接适配器,但您的环境中需要DHCP服务器。
  4. 在模拟器上安装 Android x86,运行它。
  5. Alt + F1 ,输入netcfg ,记住 IP 地址,按Alt + F7
  6. 在您的 Windows XP 系统上运行 cmd,将目录更改为您的 Android 工具目录,键入adb connect <virtual_machine_IP>
  7. 启动Eclipse,打开ADT插件,找到设备,尽情享受吧!

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

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

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

这个模拟器速度快,反应灵敏。

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

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

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

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

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

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

前半部分的说明已经足够详细,因此我假设您能够使用 Android SDK 管理器以及 Intel HAXM 安装 Intel x86 Atom System Image(s)。

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

并启动它:

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 + control才能使用F1 - F12键。 可以使用 control + 箭头键执行向上/向下/向左/向右翻页。

您可以使用以下命令创建 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),模拟器的启动速度会快得多。 因此,如果您从虚拟设备管理器“SDK Setup.exe”启动模拟器并且 Eclipse 未启动,则模拟器运行速度会更快。

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

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

  1. Genymotion - 首选

  2. 虚拟盒子

  3. 蓝叠

  4. 你挥手

  5. Windows 安卓模拟器

  6. 一罐豆子

  7. 安迪

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

从 Android SDK Tools 的 Revision 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,它就会自动使用。

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

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

这个功能可以大大提高模拟器的性能!

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

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

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

例如:

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

模拟器启动选项中描述的选项-cpu-delay <delay>可以提供帮助。

模拟器在空闲时似乎会放慢速度。 通过快速将鼠标悬停在侧面的按键上并观察点亮响应,可以明显看出这一点。 作为一种解决方法,我在启动模拟器时将-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 模拟器第 9 版具有新的“快照”功能。 您可以保存模拟器的状态(制作模拟器的映像)并避免在启动模拟器时启动。

您可以在Google I/O 2011:Android 开发工具演讲中查看模拟器问题,从 0:40:20 开始。

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

主要的瓶颈是渲染,因为它没有在任何专用硬件上运行,但它实际上是通过软件渲染来执行的。 降低屏幕尺寸将大大提高模拟器性能。 获得更多/更快的内存不会有帮助。

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

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

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

使用 Intel x86 仿真器加速器

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

SDK 管理器截图

在我使用的 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 适用于 Intel 设备,因此使用 Intel CPU 创建了一个新的模拟器。

使用 Intel Atom x86 创建新的 AVD

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

AVD 创建选项截图

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

尝试 Android Studio 的Genymotion 快闪! 只需要一次安装。 不再有 AVD 疼痛。

对此添加更多信息。

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

一个新选项是适用于 AndroidVisual Studio 模拟器——它速度快、 Hyper-V 、x86,即使没有 VS也可以免费下载

这是我注意到根本没有人提到的。

将所有可用的处理器分配给模拟器

这是您可以尝试的方法。 它确实为我加速了模拟器,尤其是在加载时间。 我注意到模拟器仅使用可用 CPU 的单个内核。 我将其设置为使用所有可用的处理器。

我正在使用 Windows 7。

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

在此处输入图片说明

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

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

adb connect 127.0.0.1 

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

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

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

适用于 Android 的 Visual Studio 模拟器

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

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

为了减少您的模拟器启动时间,您需要在启动模拟器之前检查“禁用启动动画”。 请参阅Android 文档

如果您不知道,则无需在每次运行/调试应用程序时关闭模拟器。 如果您在已经打开的情况下单击运行/调试,您的 APK 文件将被上传到模拟器并几乎立即启动。 模拟器仅在第一次启动时才需要很长时间。

以下是一些加快 Android 模拟器速度的技巧:如何将 Android 模拟器速度提高 400%

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

加快 Android 模拟器和应用程序测试的好方法是将您的 Android Studio 安装或升级到Android Studio 2.0版本,然后转到应用程序打开设置/首选项,转到构建、执行、部署 → 即时运行。 单击启用即时运行。 之后这将确保您的项目有正确的 gradle 插件来使用 Instant Run。 在此处输入图片说明

即时运行看起来像这样Android Studio 中用于 Instant Run 的新运行和停止操作

不过 Android Studio 现在处于预览阶段,您可以立即试用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM