Android模拟器有点迟钝。对于摩托罗拉Droid和Nexus One等设备,应用程序在实际设备上的运行速度比模拟器快。在测试游戏和视觉效果时,这是一个问题。
如何使模拟器尽可能快地运行?我一直在摆弄它的参数,但还没有发现一个配置显示出明显的改进。
Android模拟器有点迟钝。对于摩托罗拉Droid和Nexus One等设备,应用程序在实际设备上的运行速度比模拟器快。在测试游戏和视觉效果时,这是一个问题。
如何使模拟器尽可能快地运行?我一直在摆弄它的参数,但还没有发现一个配置显示出明显的改进。
当前回答
Thank you @zest! Worked like a charm. Some things of note: Need to apply Intel's hotfix for the HAXM to deal with kernel panic issue: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Also, note, if you have more than one abi, you need to uninstall one due to a bug in the latest version of the Android API (r19): https://code.google.com/p/android/issues/detail?id=66740 (remove armeabi-v7a in this case, since you want the x86 abi). Other than the 45-minutes it took me to resolve these, it was an very rewarding exercise in terms of the increased performance of the emulator.
其他回答
我注意到模拟器只默认为核心0,而大多数Windows应用程序将默认为“任何”核心。此外,如果你把它放在另一个核心上(比如上一个核心),它可能会让模拟器发疯。如果可以,可以尝试将CPU使用率高的应用程序放在其他CPU内核上,以提高速度。
硬件方面,获得最快的CPU,可以为单核应用程序工作。在模拟器性能方面,超过2个内核可能不会有太大的差异。
Eclipse + Android模拟器一起消耗了大量的RAM。我建议至少使用3g RAM,因为我使用的是一个有2g RAM的系统,它变慢了,因为系统用完了RAM,开始使用页面文件。
我觉得最好的cpu可能会有一个高时钟(只使用时钟作为同一系列cpu的衡量标准),处理非simd操作很好,并有一个涡轮增压机制。没有很多基于java的基准测试,但总体上寻找像压缩和office这样的应用程序基准测试。不要关注游戏或媒体,因为它们深受SIMD的影响。如果你能找到一个Java版本,那就更好了。
在今年谷歌I/O(2011)上,谷歌演示了一个更快的模拟器。问题不在于ARM和x86之间的字节码,而在于QEMU执行的软件渲染。我认为它们绕过QEMU的渲染,直接将渲染发送到X服务器。他们展示了一款具有出色性能和fps的汽车游戏。
我想知道什么时候开发者可以使用……
编辑虽然使用英特尔图像可以获得一些性能提升,但使用Genymotion获得的性能要大得多。请看保罗·拉默茨马的回答。
以前的回答
ADT rev 17模拟器支持在Windows和Mac OS x上以虚拟化模式运行x86系统映像,这对性能有显著影响。
ADT rev 17注释: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
配置虚拟机加速: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
如果你没有一个好的显卡(像我一样),选择一个低分辨率的模拟器(例如:Nexus S)
启用GPU硬件加速(除了Intel的HAXM),如果你使用API 15 v3或更新版本和SDK Tools v17+。模拟器的图形加速利用开发计算机的图形硬件,特别是图形处理单元(GPU),使屏幕绘制速度更快。这大大提高了速度。
要在模拟器上启用默认启用的图形加速:在创建AVD时,在“硬件”部分单击“新建”,选择“GPU仿真”并将值设置为“是”。
要只在运行时启用加速:在启动模拟器时使用-gpu标志,如下所示:
emulator -avd <avd_name> -gpu on
来源:谷歌的使用模拟器教程。