Android 模拟器和系统映像的问题排查与已知问题

此页面列出了 Android 模拟器的已知问题、解决方法和问题排查提示。

如果您遇到未在此处列出的问题或使用此处所列的解决方法未成功解决问题,请报告错误

检查是否有足够的磁盘空间

为了避免因可用磁盘空间不足而导致崩溃和挂起,模拟器会在启动时检查是否有足够的可用磁盘空间,并且只会在可用空间至少 2 GB 的情况下启动。如果模拟器无法启动,请检查您是否有足够的可用磁盘空间。

防毒软件

由于许多安全和防毒软件包的工作原理是监控每次读取和写入操作,因此使用此类软件会降低 Android 模拟器等工具的性能。

许多防毒软件包都能够将特定应用列入白名单,从而使这些应用能够在不降低性能的情况下运行。如果您在保存或加载 AVD 快照时遇到性能不佳的问题,可以通过在防毒软件中将 Android 模拟器应用列入白名单来提高性能。

性能影响因不同防毒软件包而异。如果除操作系统附带的防毒软件之外您还安装了其他防毒软件,您可以运行简单测试以确定哪个防毒软件对模拟器加载和保存操作的性能影响较大。

某些防毒软件可能与 Android 模拟器不兼容。

如果您使用的是 Avast 软件且 Android 模拟器无法正常运行,请尝试在 Avast 的 Troubleshooting 设置中停用 Use nested virtualization when availableEnable Hardware assisted virtualization。此外,在停用 Avast 硬件虚拟化后,请通过从 SDK Manager 彻底重新安装最新的 HAXM,再次确保 HAXM 已正确设置。

不受支持的旧版 Mac OS 上的 HAXM

如果您是在不受支持的旧版 Mac OS X(例如 10.9)上使用 Android 模拟器,可能也需要使用旧版 HAXM (6.1.2)。

Android 模拟器在更新后运行缓慢

很多外部因素可能会导致 Android 模拟器在更新后运行缓慢。要开始进行问题排查,我们建议按照以下步骤操作:

  • 如果您是在 Windows 上运行 Android 模拟器,请检查是否安装了 Windows 更新 KB4013429KB4015217。一些用户表示,卸载这些更新后 Android 模拟器的性能有所提升。用户还表示,安装 Windows 更新 KB4015438 后模拟器的性能有所提升。
  • 如果您使用的是 Intel GPU(尤其是 Intel HD 4000),请确保您已下载并安装最新的 Intel 图形驱动程序。
  • 如果您的计算机同时具有 Intel HD 4000 GPU 和独立的 GPU,请在设备管理器中停用 Intel HD 4000 GPU,以确保您使用的是独立的 GPU。
  • 尝试在 -gpu angle-gpu swiftshader-gpu guest 模式下运行模拟器。如需详细了解如何在命令行中配置图形加速选项,请参阅配置硬件加速
  • 如果您没有 IPv6 连接,请确保路由器使用的不是 IPv6 地址。

如果 Android 模拟器仍然运行缓慢,请报告错误,并提供必要的 Android 模拟器详细信息,以便我们进行调查。

Windows:可用 RAM 和已提交内存

当模拟器启动时,它需要初始化 Android 客户机操作系统的 RAM。在 Windows 上,模拟器在启动时要求 Windows 考虑客户机内存的完整大小,即使在实际操作期间,也可以按需对内存进行分页。模拟器在启动时会请求全部客户机内存,因为在确保有足够的物理 RAM 和页面文件可用于存放整个潜在的工作集方面,Windows 较为保守;这为最糟糕的情况做好了准备,在最糟糕的情况下,所有客户机内存会被快速占用,没有任何机会舍弃或以其他方式释放内存。

有时,当模拟器要求 Windows 考虑完整的客户机内存大小时,请求会超出当前的提交限制,即可用物理 RAM 和页面文件的总和。在这种情况下,Windows 无法保证在最糟糕的情况下工作集能存入物理 RAM 或页面文件,模拟器无法启动。

通常情况下,对大多数模拟器用例来说,为页面文件分配的硬盘空间加物理 RAM 已绰绰有余。不过,如果由于超出提交限制而无法启动模拟器,我们建议检查当前的已提交内存,已提交内存可在 Windows 任务管理器的性能标签中看到。(要打开任务管理器,请按 Ctrl+Shift+Esc。)

您可以通过各种方式降低超出提交限制的可能性:

  • 通过关闭未使用的应用和文件,在启动模拟器之前释放物理 RAM。
  • 停用第三方内存管理和内存压缩实用程序。这些实用程序可能降低效率,导致超出已提交内存并使您的系统更接近提交限制。
  • 对 Windows 页面文件使用系统管理大小,系统管理大小可以更灵活、更动态地增加页面文件大小(以及提交限制),以应对模拟器和其他应用增加的需求。

    如需详细了解已提交内存以及为什么灵活设置效果最佳,请参阅这篇 Microsoft 文章