Android模拟器有点迟钝。对于摩托罗拉Droid和Nexus One等设备,应用程序在实际设备上的运行速度比模拟器快。在测试游戏和视觉效果时,这是一个问题。

如何使模拟器尽可能快地运行?我一直在摆弄它的参数,但还没有发现一个配置显示出明显的改进。


当前回答

启用GPU硬件加速(除了Intel的HAXM),如果你使用API 15 v3或更新版本和SDK Tools v17+。模拟器的图形加速利用开发计算机的图形硬件,特别是图形处理单元(GPU),使屏幕绘制速度更快。这大大提高了速度。

要在模拟器上启用默认启用的图形加速:在创建AVD时,在“硬件”部分单击“新建”,选择“GPU仿真”并将值设置为“是”。

要只在运行时启用加速:在启动模拟器时使用-gpu标志,如下所示:

emulator -avd <avd_name> -gpu on

来源:谷歌的使用模拟器教程。

其他回答

更新当前的Android Studio到Android Studio 2.0,并更新系统映像。

Android Studio 2.0模拟器的运行速度比Android之前的模拟器快3倍,通过ADB的增强,您现在可以将应用程序和数据推送到模拟器,比推送到物理设备快10倍。与物理设备一样,官方Android模拟器也内置了谷歌播放服务,因此您可以测试更多的API功能。最后,新的模拟器具有丰富的新功能来管理呼叫、电池、网络、GPS等。

我最近从core 2 @ 2.5, 3gb内存换成了i7 @ 1.73, 8gb内存(两个系统都运行Ubuntu 10.10),现在模拟器的运行速度至少快了一倍。投入更多硬件当然会有所帮助。

更新:现在Intel x86映像已经可用,最好的答案是上面的zest。

正如CommonsWare正确指出的那样,这个模拟器很慢,因为它模拟的是ARM CPU,而ARM CPU需要转换成Intel操作码。这种虚拟化占用CPU资源。

为了让模拟器更快,你必须给它更多的CPU。从快速CPU开始,如果可以的话升级。

然后,给模拟器更多的CPU:

Disable Hyperthreading - Since the emulator doesn't appear to utilize more than one core, hyperthreading actually reduces the amount of overall CPU time the emulator will get. Disabling HT will slow down apps that take advantage of multiple CPUs. Hyperthreading must be disabled in your BIOS. Make the emulator run on a CPU other than CPU 0 - This has a much smaller impact than turning off HT, but it helps some. On Windows, you can specify which CPU a process will run on. Many apps will chew up CPU 0, and by default the emulator runs on CPU 0. I change the emulator to run on the last one. Note that on OS X you cannot set affinity (see: https://superuser.com/questions/149312/how-to-set-processor-affinity-on-a-mac).

我看到在这两个改变到位后,大约有50%的改善。

在Windows 7上设置处理器亲和性:

打开任务管理器 单击“查看所有进程”(以管理员身份运行,否则无法设置处理器相关性) 右键单击模拟器.exe并选择设置亲缘性… 在Set Affinity对话框中,只选择最后一个CPU

注意:当您以这种方式更改关联时,它只在流程的生命周期内更改。下一次开始,你必须再来一次。

只是想说,在我安装了英特尔HAXM加速器并使用英特尔Atom映像后,模拟器的运行速度似乎快了50倍。差别是惊人的,看看吧!

http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html

好吧,问题是从2011年开始的,我在2022年回答,根据我的经验,最好的答案是从命令启动模拟器,这样模拟器就会启动一个专用的进程,而不是android studio的子进程。如果进程是独立的,那么它将能够正确地使用GPU,并可以利用所有资源,不像从设备管理器启动模拟器。 你可以从设备管理器中创建AVD并从下面的AVD文件夹中独立启动模拟器。

如何打开模拟器命令行