如何提高模拟器的速度?

8
我电脑有1GB的RAM。起初我在Eclipse上创建了一个512MB大小的AVD,启动模拟器时速度非常缓慢,运行应用程序时显示消息说我的RAM大小压缩到348。后来我删除了这个AVD并创建了一个256MB大小的新AVD,它比之前的快了一些,但速度仍然很慢。每当我关闭AVD时,它都会显示停止响应的消息,并在一段时间后关闭。我使用的是目标为Android:4.2.2-API Level 17的3.2英寸QVGA(ADP2)(320*480:mdpi) AVD。我选择了快照选项。我看到了很多关于此问题的提问,但大多数答案都说这与系统RAM无关。
请问是否有人知道如何解决这个问题并提高仿真器的速度?
5个回答

5

我所知道的唯一方法是,如果您在Windows上工作,则将CPU设置为Intel Atom(x86)。

这是因为x86和Windows使用几乎相同的架构,仿真器无需仿真架构。


是的,我正在使用Windows和x86。但是你的回答不是很清楚,我很难理解。你能否请解释一下? - John R

2
我找到了以下内容:
  1. When setting up the AVD, for CPU/ABI choose intel Atom (x86)
  2. On the same page check the box Use Host GPU
  3. When starting the AVD, look for this in the pop-up with the progress bar:

    emulator: device fd:964
    HAX is working and emulator runs in fast virt mode
    creating window 0 0 270 480
    
如果你收到有关HAXM无法工作的错误,请前往:Intel® Hardware Accelerated Execution Manager 1.0.6 (R3),提取InteHaxm.exe文件并将其移动到sdk目录中(例如\sdk\extras\intel\)。
由于某种原因,我遇到了HAXM的错误,并安装英特尔解决了这个问题。
编辑:你的电脑只有1G内存?那是个大问题。

2

enter image description here

如果您使用的是带有英特尔处理器的电脑,请从SDK管理器中下载最新的英特尔x86 Atom系统映像(参见屏幕截图),并创建一个新的AVD选项...

否则,我建议您使用“Genymotion”,它是一种虚拟设备,类似于模拟器,并且非常快速...可以试一下。


有关Genymotion的任何链接? - John R
好的,当然可以...请访问http://www.genymotion.com/进行了解。 下载链接为https://cloud.genymotion.com/page/launchpad/download/。 - Milan Delvadia
如果您在安装和使用过程中遇到任何问题,请告诉我。 - Milan Delvadia
您可以从Eclipse打开SDK Manager,在打开SDK Manager后,将会出现此界面...它会自动从互联网上获取数据。 - Milan Delvadia
我正在使用Genymotion,它完全免费。 - Milan Delvadia
显示剩余2条评论

0

由于硬件加速的UI,Android模拟器非常缓慢。

在真实设备上,渲染是使用设备的GPU执行的。然而,模拟器使用软件渲染器来完成这个过程。

如果我没记错的话,在Android 3.x或4.x中,UI渲染已经得到了改进,更多地使用了GPU。

提高模拟器性能的一些技巧包括使用Intel HAXM模拟器(以及Intel Atom系统映像),并尝试使用旧版本的Android 2.x(与4.x相比,2.x应该在模拟器中运行得更好)。

使用此模拟器可以加快模拟器中软件渲染例程的调用,并且可以提供相当大的提升。

如果您可以使用旧版本的Android(2.x),那么您应该选择它。对于旧版本,性能要比4.x版本好得多。

注意:Intel HAXM模拟器要求您使用带有英特尔处理器的OSX或Windows操作系统。


-3

使用Android Studio代替Eclipse。模拟器在其中运行更快。


1
如果你知道如何在eclipse上解决它,请回答我。 - John R
1
@JohnR - 首先,你的问题中没有提到Eclipse,所以我会将你的问题投下反对票;其次,Android Studio要好得多,模拟器在其中运行非常快。 - Rahul Gupta
1
复仇魔兽。继续前进。 - John R
1
兄弟,我发布了一个正确的答案。你因为只需要在Eclipse上使用它而将其投票下降了。你试过谷歌搜索吗?其次,你的问题中没有提到Eclipse。所以如果你可以投票反对一个正确的答案,我也可以。第三,这是一个重复的问题。我投票反对的理由更好。 - Rahul Gupta
1
这个答案非常不正确。模拟器并没有内置于Android Studio或Eclipse中,也不依赖于它们,因此您使用的IDE与仿真性能完全无关。模拟器包含在Android SDK中(假设您下载了相同的平台工具,则两个IDE都是相同的)。 - d0nut

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