安卓模拟器为何如此缓慢?如何加速安卓模拟器?

安卓模拟器为何如此缓慢?如何加速安卓模拟器?

技术背景

在安卓开发过程中,安卓模拟器运行缓慢是一个常见的问题,严重影响开发效率。这主要是因为完整的安卓环境运行在模拟硬件上,指令在模拟的 ARM 处理器上执行,且渲染通过软件完成,没有专用硬件支持。

实现步骤

启用快速启动

  1. 点击模拟器编辑按钮,然后点击 Show Advanced Setting
  2. 启用 Quick Boot 选项,这样可以保存模拟器状态,下次启动时速度更快。

使用保存快照功能

  1. 在创建新的 AVD(模拟器)时,启用保存快照功能;也可以通过编辑 AVD 来添加此功能。
  2. 增加 Device RAM Size1024,能提升模拟器速度。

配置 HAXM

  1. 更新 Eclipse 和 Android 工具:确保 Eclipse 安装和 ADT 插件是最新的,更新 Android SDK 工具,至少使用版本 17。
  2. 下载相关组件:下载 x86 Atom System ImagesIntel Hardware Accelerated Execution Manager Driver
  3. 安装 HAXM 驱动:运行 IntelHaxm.exe,若安装失败提示需开启 Intel VT,需在 BIOS 中启用。
  4. 创建新的 x86 AVD:按照相应步骤创建。

使用 Android x86

  1. 安装 VirtualBox
  2. 下载所需的 ISO 文件
  3. 创建虚拟机,配置为 Linux 2.6/Other Linux,512 MB RAM,HD 2 GB,网络设置为 PCnet - Fast III,连接到 NAT
  4. 在模拟器上安装 Android x86 并运行。
  5. Alt + F1,输入 netcfg 记住 IP 地址,按 Alt + F7
  6. 在 Windows XP 系统上运行 cmd,切换到 Android 工具目录,输入 adb connect <virtual_machine_IP>
  7. 启动 Eclipse,打开 ADT 插件,找到设备。

使用 Genymotion

  1. 注册后下载适用于 Windows/Mac OS X/Linux 的版本。
  2. 若使用 Eclipse,可通过 “Help / Install New Software” 菜单,添加更新站点 http://plugins.genymotion.com/eclipse 安装插件。

其他设置

  1. 使用 GPU 仿真:在 AVD 配置中确保 GPU 仿真设置为 “yes”。
  2. 设置设备内存:将设备内存设置为 1024 MB 或更多,但不超过 Intel HAXM 设置。

核心代码

创建启动脚本

在 Windows 上创建 emulator.bat 文件:

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

在 Unix(Mac 或 Linux)上:

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

传递参数给 QEMU

创建 my_avd.bat 文件:

1
emulator @my_avd -no-boot-anim -qemu -icount auto

启用 GPU 加速

1
emulator -avd <avd_name> -gpu on

最佳实践

  1. 优先使用真机进行测试,因为真机测试速度更快且更接近真实情况。
  2. 确保电脑硬件支持相关加速功能,如 Intel VT、GPU 加速等。
  3. 定期更新 Android SDK 和相关工具。

常见问题

  1. HAXM 安装失败:提示需开启 Intel VT,需进入 BIOS 中启用该功能。
  2. GPU 仿真与快照功能冲突:当前使用 GPU 仿真时不能使用快照选项。
  3. 模拟器配置自动恢复:模拟器对设置要求严格,保存设置后需再次检查,避免配置自动恢复。

安卓模拟器为何如此缓慢?如何加速安卓模拟器?
https://119291.xyz/posts/2025-05-09.why-is-the-android-emulator-so-slow-and-how-to-speed-it-up/
作者
ww
发布于
2025年5月9日
许可协议