为什么Android Studio模拟器运行速度非常缓慢?

54

我刚在我的电脑上安装了Android Studio,这是一个新的开发Android应用程序的工具。

我的问题是,当我尝试在模拟器中运行我的小应用程序时,它需要太长时间才能启动,之后模拟器也变得很慢。

AVD设置

AVD名称:Glaxy
设备:Glaxy Nexus(4.65英寸,720x1280像素:xhdpi)
目标:Android 4.2.2 - API级别17
内存选项:RAM 500、VM堆64
内部存储:200MiB

我的电脑配置较好:Intel Core 2 Duo 2.93GHz,RAM为3GB。

我是Android开发和Java方面的新手。


2
人们对模拟器的体验似乎存在很大差异,但大多数人仍然认为它非常慢。我已经调整和配置了许多不同的模拟器设置,发现它几乎是一个毫无用处的软件。我尽可能地在真实设备上进行测试。在我偶尔需要使用模拟器的几次情况下,我勉强能够应付,但我预计会花费几个小时来完成一个简单的测试。 - Neil
是的,实际上没有模拟器。您必须在物理设备上进行测试。大约十个设备就可以让您开始了。 - Anderson
Android Studio引入了一种新的方式来加速您的应用程序测试。https://dev59.com/8nI_5IYBdhLWcg3wDOZC#34511114 - Umer
请查看此更新答案 - Amit Vaghela
"Memu"速度更快。 - M.kazem Akhgary
20个回答

18
最佳解决方案是使用带有Intel虚拟化技术的Android模拟器。
如果您的系统具有称为Intel虚拟化技术的功能,则Intel X86镜像将对您非常有益,因为它支持Intel®硬件加速执行管理器(Intel® HAXM)。
要检查处理器是否支持HAXM,请单击此处:点击这里 您需要在系统中手动安装Intel HAXM。按照以下步骤操作:
  • 首先转到-adt -> extras -> intel -> Hardware_Accelerated_Execution_Manager
  • 确保从BIOS设置启用了Intel虚拟化。
  • 现在在系统中安装Intel HAXM并选择内存量(我建议将其设置为默认值)。
  • 安装后创建一个新的Android虚拟设备(AVD),其目标应为API级别xx。
  • 现在将CPU/ABI设置为Intel Atom(x86)。
  • 如果您在Windows上,则在设置模拟器时不要将RAM值设置超过768 MB。
  • 运行模拟器。 它比普通模拟器快得多。
希望这对您有所帮助。 :) 谢谢。

13

我认为在Android Studio中,快照选项实际上并没有起到任何作用。我已经测试过了,也没有看到任何区别。这可能是因为Android Studio似乎没有提供从快照启动模拟器或将其保存到快照的选项。 - Sam

5

我尝试了所有建议的解决方案,但都没有任何影响。在我的设备(Windows 10、AndroidStudio 3.5、Quadcore 3.2 Ghz、32GB 固态硬盘驱动器)上,Android Studio 的模拟器体验无法使用。

我尝试更新 Android Studio、安装 Intel HAXM、通过 SDK 更改内存设置、使用实际设备,在 Windows 防病毒软件中排除各种文件夹等操作。

解决方法就是将 Android Debug Bridge (adb.exe) "作为进程" 从 Windows 安全/病毒保护中排除即可让其正常运行。你可以自己排除或者阅读下面的详情知道如何进行操作。

我建议你自己验证速度问题的严重性。同样的验证会用于验证应用解决方案后的立竿见影的不同。从 Android Studio 中运行选项只会使复杂程度加大。


检查问题的步骤:

  1. 获取 Android SDK Tools 的路径。你可以在SDK Manager -> Appearance and Behavior -> System Settings -> Android SDK中找到它。

  2. 打开命令提示符或终端窗口。你可以在 Windows (开始) 图标上右键单击->运行并执行 "cmd"。这将给你一个 Windows 命令提示符或终端窗口。

  3. 在终端窗口中,使用 CD 命令更改驱动器和路径到 Android SDK 文件夹。现在切换到子文件夹 Platform-tools

  4. 你会在这个文件夹中找到 Android Debug Bridge (adb.exe)。它在操作模拟器以及实际设备中起着至关重要的作用。

  5. 在终端窗口中,使用命令 adb 执行 adb.exe 工具。它应该立即返回 adb 的帮助参数。

  6. 现在使用类似于adb devices的命令执行 adb.exe。即使没有任何设备或模拟器在运行,它也会简单地停顿并需要数秒钟才能返回信息。在我的设置中,这要花费近 30 秒钟。这就是问题所在

你在模拟器上执行的任何操作都经过 adb,并且在此处卡住。一旦应用解决方案,它应该像简单的 adb 命令(无参数)一样立即执行 adb devices 命令。


解决步骤:

  1. 进入Windows的“病毒和威胁防护”设置。有几种方法可以达到目的。您可以在Windows(开始)图标上右键单击并选择设置。选择更新和安全性,然后选择Windows安全性,再选择病毒和威胁防护

  2. 您将找到选项病毒和威胁防护设置。选择它。您将找到几个选项,请查找排除项。选择选项添加或删除排除项。这将带您进入当前被Windows反病毒软件排除的文件、文件夹和进程列表。它可能是空的,也可能有一些数据。

  3. 选择“+添加排除项”。你会发现4个选项 - 文件、文件夹、文件类型和进程。这很关键。请选择进程

  4. 在“输入进程名称”的输入框中键入名称adb.exe。请不要忘记输入扩展名,只输入adb将不起作用。使用“添加”按钮接受输入。

完成了。现在再次转到命令提示符,并按照之前执行的相同步骤检查问题。希望您会惊喜地发现,您的整个Android Studio模拟器体验应该变得无缝。

请注意,步骤可能会根据您的Windows版本、Android Studio和SDK工具略有不同,但仍然适用。


我能用Android Studio的进程来做这个吗? - Alex Pappas

4
新版的Android Studio为模拟设备(AVDs)提供了非常明显的性能改进。但是,当你首次安装Android Studio(或者更新到新版本,如最近发布的Android Studio 2.0)时,最重要的性能特性(至少在Windows PC上运行时)默认情况下是关闭的。这就是HAXM模拟器加速器。
打开Android SDK,在工具栏中选择其图标(在图标右侧靠近顶部),然后选择SDKTools选项卡,并勾选Intel x86模拟器加速器(HAXM installer)的复选框,单击OK。按照说明安装加速器。
安装完成后,请务必完全退出Android Studio,然后转到SDK文件夹(如果接受默认值,则位于C:\ users \ username \ AppData \ Local \ extras \ intel \ Hardware_Accelerated_Execution_Manager)。在此目录中进入extras \ intel \ Hardware_Accelerated_Execution_Manager并运行名为“intelhaxm-android.exe”的文件。
然后,在重新运行AVD之前,重新进入Studio。
另外,我发现当我从Android Studio 1.5更新到版本2.0时,我必须创建全新的AVD,因为所有旧的AVD运行得非常缓慢,以至于无法使用(例如,它们仍在启动五分钟后 - 我甚至没有一个完全启动)。当我创建新的AVD时,它们运行得非常好。

谢谢你! - RigidBody

2

2

2
正如@Xavi所提到的,Android模拟器通常很慢并且会有很多延迟。要么在实际设备上测试您的应用程序,要么使用其他模拟器,例如BlueStackAndroid-X86
使用模拟器的另一个提示是,如果您还没有完成测试应用程序,请不要关闭它。只需保持其打开状态即可。这样,您就可以跳过启动所需的时间。

1
Sam!谢谢你的这个技巧,现在我可以通过保持模拟器打开来节省时间了。 - Mandy

1

在Linux上运行时,模拟器速度要快得多。在Ubuntu 13.04上,它在10秒内启动,并且几乎与物理设备一样流畅。我无法在Windows上复制这种性能。

编辑: 实际上,在第一次启动后,当使用Atom架构和GPU加速时,Windows模拟器的运行几乎与Linux一样好。


1

尝试通过重新安装来增加您的Intel HAXM内存。 对我有效。在我的电脑上,HAXM设置的位置在这里:C-Users-Pc's_name-AppData-Local-Android-sdk-extras-intel-Hardware_Accelerated_Execution_Manager


1

检查以下列表:

  1. 安装Intel HAXM
  2. 只使用x86 AVD
  3. 使用小尺寸屏幕

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接