为啥模拟器在 Android Studio 中很慢?

Posted

技术标签:

【中文标题】为啥模拟器在 Android Studio 中很慢?【英文标题】:Why emulator is very slow in Android Studio?为什么模拟器在 Android Studio 中很慢? 【发布时间】:2013-05-19 21:08:35 【问题描述】:

我刚刚在我的 PC 上安装了 android Studio,这是开发 Android 应用程序的新版本。

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

AVD 设置

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

我有好的窗口电脑:Intel Core 2 Duo 2.93Ghz 和 Ram 是 3gb

我是 Android 开发和 java 的新手。

【问题讨论】:

似乎人们对模拟器的体验差异很大 - 但大多数人仍然觉得它很慢。我已经调整和配置了许多不同的模拟器配置,发现它是一个边缘无用的软件。我尽可能在设备上进行测试。在我需要使用模拟器的少数情况下,我几乎可以勉强通过,但我可以预期会浪费几个小时来执行一个简单的测试。 是的。实际上没有模拟器。您必须在物理设备上进行测试。大约十个应该让你开始。 这是 Android Studio 引入的新方法,可加快您的应用测试速度***.com/a/34511114/2489061 检查this updated answer "Memu" 更快 【参考方案1】:

检查这个:Why is the Android emulator so slow? How can we speed up the Android emulator?

Android Emulator 在大多数计算机上都很慢,在那篇文章中你可以阅读一些提高模拟器性能的建议,或者使用 android_x86 虚拟机

【讨论】:

感谢您的建议 :)【参考方案2】:

正如@Xavi 提到的,Android Emulator 通常很慢并且滞后很多。在实际设备上测试您的应用程序或使用替代模拟器,例如 BlueStack 或 Android-X86。

使用模拟器的另一个提示是,如果您没有完成应用程序的测试,请不要关闭。让它保持打开状态。在这种情况下,您会跳过启动时间。

【讨论】:

山姆!感谢这个技巧,现在我可以通过打开模拟器来节省我的时间。【参考方案3】:

模拟器在 Linux 上运行时要快得多。在 Ubuntu 13.04 中,它会在 10 秒内启动,并且运行起来几乎和在物理设备上一样流畅。我无法在 Windows 上重现性能。

编辑: 实际上,在第一次启动后,使用 Atom 拱门时。和 GPU 加速,Windows 模拟器几乎可以在 Linux 中运行。

【讨论】:

【参考方案4】:

只需编辑如下的 AVD 设置,

启用快照选项,请使用 INTEL HAXM 软件进行加速。只需访问 https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm 并下载...

【讨论】:

我认为快照选项实际上在 Android Studio 中没有任何作用。我已经测试过了,没有发现任何区别。这可能是因为 Android Studio 似乎没有提供从快照启动模拟器或将模拟器保存到快照的选项。【参考方案5】:

使用 x86 映像并从 sdk 管理器下载“英特尔硬件加速执行管理器”。

在此处查看如何启用它:http://developer.android.com/tools/devices/emulator.html#accel-vm

你的模拟器会超级快!

【讨论】:

【参考方案6】:

我倾向于通过可以在 AVD 管理器中设置的快照加载 AVD > 选择 AVD > 详细信息... > 检查模拟器选项:快照,然后运行 ​​AVD,在 AVD 管理器中选择 AVD > 开始... > 选择保存到快照并从快照启动。第一次,确保选择保存到快照,因为不存在要启动的快照。下次以后选择从快照启动。

也有点担心提出这个建议,但我注意到加载和运行 AVD 时的一种特殊行为。当我在我的联想笔记本电脑(64 位 Windows 7、4GB、2.5GHz 机器)上为笔记本电脑电池充电时,模拟器的加载和运行速度略快,滞后也更少。我想知道这是否是我笔记本电脑上的配置减慢了高计算过程。很高兴知道其他人是否注意到了这种行为?加载 AVD 时拔下充电器,查看 AVD 是否变慢。

【讨论】:

【参考方案7】:

这可能是因为您的 sdk 中的文件不完整。有时您办公室或某处的防火墙会阻止它,因此出现错误消息说对等方未通过身份验证我遇到了同样的问题,但是通过获取防火墙访问权限下载了所有文件后 我的模拟器工作正常,比以前快得多

【讨论】:

【参考方案8】:

如果使用 Android Studio(或 Eclipse),一个快速解决方法是禁用启动动画。

1) 选择运行 > 编辑配置

2) Android 应用程序 > YOURAPP

3) 选择“模拟器”选项卡并勾选“禁用启动动画”

这将停止加载“ANDROID”图像并直接启动到锁定屏幕,然后让您的模拟器保持打开状态。另外,为避免出现问题,请不要在启动前旋转设备(Cmnd + Ctrl + F11),并且在安装过程中不要尝试多次运行应用程序。

【讨论】:

【参考方案9】:

最好的解决方案是使用带有英特尔虚拟化技术的 Android 模拟器。

现在,如果您的系统有一个具有称为英特尔虚拟化技术的功能的处理器,那么英特尔 X86 映像将为您带来巨大的好处。因为它支持英特尔® 硬件加速执行管理器(英特尔® HAXM)。

检查您的处理器是否支持 HAXM:Click Here

您需要在系统中手动安装英特尔 HAXM。请按照以下步骤操作。

首先进入 -adt -> extras -> intel -> Hardware_Accelerated_Execution_Manager 确保从 Bios 设置中启用英特尔虚拟化。 现在在您的系统中安装 Intel HAXM 并选择内存量(我更喜欢将其设置为默认值)。 安装后创建新的 Android 虚拟设备 (AVD),其目标应为 API 级别 xx 现在将 CPU/ABI 设置为 Intel Atom(x86)。 如果您使用的是 Windows,则在设置模拟器时不要将 RAM 值设置为超过 768 MB。 运行模拟器。它会比普通的快。

希望对您有所帮助。 :) 谢谢。

【讨论】:

【参考方案10】:

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

我还将设备 RAM 大小增加到 1024,从而实现了非常快的模拟器。

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

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

从快照启动模拟器。

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

【讨论】:

这看起来很有用,尤其是如果你有 SSD,但这个问题被标记为“Android Studio”而不是“Android 开发者工具”。【参考方案11】:

尝试使用其他安卓虚拟设备。您可以通过转到 AVD 管理器添加新设备来创建一个。选择屏幕尺寸 3'2 和 API-10(姜饼)。

这对我有用,而且现在超级快。

P.S.- 我的笔记本电脑过去常常需要很长时间才能加载模拟器,并且由于内存不足(4.2)它永远不会启动。我曾经一次又一次地重新启动。这解决了我的问题。

【讨论】:

【参考方案12】:

Google 推出具有改进的 Android 模拟器和新的即时运行功能的 Android Studio 2.0

Android Studio 2.0 的新功能:

1.Instant Run:更快的构建和部署

您可以快速查看在您的设备或模拟器上运行的更改。 启用 Instant Run 请按照以下步骤操作:

1.打开设置/首选项 2.转到构建、执行、部署 3.即时运行。点击启用即时

请看 Instant Run 的视频 --> Instant Run

2.GPU Profiler

对于构建图形密集型应用和游戏的开发者,Studio 现在还包括一个新的 GPU 分析器。这将允许开发人员在每次屏幕绘制新图像以跟踪性能问题时准确查看发生了什么。

click here 了解有关 GPU Profiler 工具的更多详细信息

Getting Started Guide for Android Emulator Preview

有关 android 2.0 2015 年最大和最佳更新的更多详细信息,您可以查看 @nuuneoi 的非常好的文章作者:

First Look at Android Emulator 2.0, the biggest and the best update yet in years

【讨论】:

【参考方案13】:

尝试通过重新安装来增加您的英特尔 HAXM 内存。 为我工作.. 在我的电脑中,HAXM 设置的位置在这里: C-Users-Pc's_name-AppData-Local-Android-sdk-extras-intel-Hardware_Accelerated_Execution_Manager

【讨论】:

【参考方案14】:

新的 Android Studio 对 AVD(模拟设备)进行了非常显着的性能改进。

但是,当您最初安装 Android Studio(或者,当您更新到新版本,例如最近发布的 Android Studio 2.0)时,最重要的性能特性(至少在 Windows PC 上运行时)是默认关闭。这是 HAXM 仿真器加速器。

从工作室打开 Android SDK,方法是从显示屏顶部(靠近图标右侧)选择其图标,然后选择 SDKTools 选项卡,然后选中 Intel x86 Emulator Accelerator (HAXM安装程序),单击确定。按照说明安装加速器。

确保在安装后完全退出 Android Studio,然后转到您的 SDK 文件夹(C:\users\username\AppData\Local\extras\intel\Hardware_Accelerated_Execution_Manager,如果您接受默认设置)。在这个目录下进入 extras\intel\Hardware_Accelerated_Execution_Manager 并运行名为“intelhaxm-android.exe”的文件。

然后,重新进入 Studio,然后再次运行 AVD。

另外,我发现当我从 Android Studio 1.5 更新到 2.0 版时,我必须创建全新的 AVD,因为我所有的旧 AVD 运行速度都非常慢以至于无法使用(例如,它们在 5 分钟后仍在启动分钟-我从来没有完全启动过)。我一创建新的,它们就运行得很好。

【讨论】:

谢谢!【参考方案15】:

就我而言,问题出在WinSAT.exe 的执行(位于System32 文件夹中)。我禁用它并解决了问题。

要关闭它:

    开始 > 任务计划程序 (taskschd.msc) 查找任务计划程序(本地) 任务计划程序库 Microsoft > Windows > 维护 右键单击 WinSAT 选择禁用。

The Reference

另外,从任务管理器中取消它或简单地重新启动您的计算机。


要点:在这种情况下(当问题来自 WinSAT 时)模拟器在您使用 Software - GLES 2.0 时可以工作(性能很差)并且在 性能非常差 strong> 当你使用Hardware - GLES 2.0.

【讨论】:

【参考方案16】:

查看此列表:

    安装英特尔 HAXM 只需使用 x86 AVD 使用小尺寸屏幕

【讨论】:

【参考方案17】:

除了大家已经说过的关于 HAXM 和其他配置设置作为此问题的解决方案之外,我的解决方案与软件配置或处理器限制无关。

我在较旧的 HDD 上设置了 Android Studio,并让 Visual Studio 在 SSD 上运行了 Android 模拟器。我的瓶颈是旧的 HDD - SSD,我带来了更快的速度。

解决方案(尽管不是最适合您)是考虑安装 SSD。在 90% 的情况下,这不是一个非常可行的解决方案,但对我来说,根本原因与我的硬件有关,而不是我的软件配置。

希望这可以帮助另一个面临类似问题的人!

【讨论】:

【参考方案18】:

这对我有用。我在磁盘上的大小太高,模拟器无法正常运行。擦除数据使其从 4.9 GB 变为 2.9 GB。 单击右上角的 AVD 管理器,它将拉出一个包含所有设备的屏幕。在您的设备行中,最后一个图标将是一个下拉箭头,单击它。点击“擦除数据”,然后点击“冷启动”

【讨论】:

【参考方案19】:

对于那些启用了 HAXM 并且模拟器仍然运行缓慢的用户,您应该这样做:

    如果您的计算机上正在运行 Avast 防病毒软件,则很可能是罪魁祸首。

根据 HAXM Release_Notes.txt(版本 7.5.2):

在 Windows 上,Avast Antivirus 可能会干扰 HAXM 并导致 Android Emulator 或 QEMU 运行非常缓慢。一种解决方法是取消选中 Avast 设置 > 故障排除中的“在可用的情况下使用嵌套虚拟化”。

所以打开您的 Avast 仪表板 > 菜单 > 设置 > 故障排除并禁用“启用硬件辅助虚拟化”

    在任务管理器中给予模拟器进程更高的优先级:

    在“任务管理器”>“详细信息”选项卡中找到您的模拟器进程:

    右键单击它并设置优先级 -> 高于正常值

很抱歉截图不是英文的,但你明白了,对吧? 这对我帮助很大!希望对你也有帮助。

另外,根据发行说明,有一件事:

在 Windows 8、8.1 和 10 上,建议从 Windows 功能中禁用 Hyper-V,以使 HAXM 驱动程序正常运行。

就我而言,我的 Windows 8.1 上没有任何“Hyper-V”功能,但您可能应该尝试一下,以防万一。要找到并禁用该功能,请参阅这篇文章:https://support.bluestacks.com/hc/en-us/articles/115004254383-How-do-I-disable-Hyper-V-on-Windows-

【讨论】:

【参考方案20】:

我尝试了所有建议的补救措施,但没有任何影响。 Android Studio 模拟器体验在我的设置中根本无法使用(Windows 10、AndroidStudio 3.5、Quadcore 3.2 Ghz、32GB 和 SSD 驱动器)。

我尝试了更新 Studio,安装 Intel HAXM,通过 SDK 更改内存设置,使用实际设备,不包括 Windows 防病毒软件中的各种文件夹。

让它工作起来轻而易举的解决方案是将 Android 调试桥 (adb.exe) “作为一个进程”从 Windows 安全/病毒保护中排除。您可以自己做或阅读下面的详细信息以了解如何操作。

我建议您自己验证速度问题的严重性。在您应用补救措施后,将立即使用相同的方法来验证差异。在 Android Studio 中运行选项只会让它变得更加复杂。


检查问题的步骤:

    获取您的 Android SDK 工具的路径。您可以从SDK Manager -> Appearance and Behavior -> System Settings -> Android SDK找到它。

    打开命令提示符或终端窗口。您可以右键单击 Windows(开始)图标 -> 运行并执行“cmd”。这应该会给你一个 Windows 命令提示符或终端窗口。

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

    您将在此文件夹中找到 Android 调试桥 (adb.exe)。这在操作模拟器和实际设备时起着非常关键的作用。

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

    现在使用 - adb devices 之类的命令执行 adb.exe。即使您没有运行任何设备或模拟器,这也应该只是停止并需要几秒钟才能返回信息。在我的设置中,它花了将近 30 秒。 这是问题

你用模拟器做的任何事情都会通过 adb 并卡在这里。一旦应用了补救措施,它应该立即执行 adb devices 命令,就像不带任何参数的简单 adb 命令一样。


补救措施:

    转到 Windows“病毒和威胁防护”设置。有几种方法可以达到它。您可以使用右键单击 Windows(开始)图标并选择 设置。依次选择更新和安全Windows 安全病毒和威胁防护

    您会找到病毒和威胁防护设置选项。选择它。你会发现几个选项,寻找Exclusions。选择选项添加或删除排除项。这将带您进入 Windows 防病毒软件目前排除的文件、文件夹、进程列表。它可能是空的,也可能有一些数据。

    选择“+ 添加排除项”。您将找到 4 个选项 - 文件、文件夹、文件类型和进程。这很关键。请选择流程

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

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

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

【讨论】:

我也可以用Android Studio的进程来做这个吗?

以上是关于为啥模拟器在 Android Studio 中很慢?的主要内容,如果未能解决你的问题,请参考以下文章

android studio 为啥每次build gradle很慢

为啥android studio向模拟器发送短信

为啥android studio 模拟器开不起来了

为啥Android studio模拟器把电脑搞得哒哒哒响

为啥我的模拟器没有在 Android Studio 上运行?

为啥 Android Studio 模拟器在横向视图中旋转时是颠倒的?