Android模拟器无法分配内存8


157

当我尝试从Eclipse运行WXGA800仿真器时,出现了这样的错误

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

我也检查了以下链接

分配内存失败:8

Android:无法分配内存

我曾尝试在模拟器中减小RAM大小,并增大Java堆大小和ramsize,但仍然遇到相同的错误。


尝试手动设置分辨率,而不要使用内置皮肤。
SteveR 2012年

请在这里查看我的答案: stackoverflow.com/a/14420779/1993898
Prymaldark


凉。我对这个问题的措辞不太雄辩,有人对此表示反对。我希望这里有个不错的答案。我正在尝试模拟具有S-Pen支持的三星银河,它们也都超出了模拟器的功能。
Sinthia V

Answers:


410

更新:从Android SDK Manager 21版开始,解决方案是编辑C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini和更改值

hw.ramSize=1024 

hw.ramSize=1024MB

Android 4.2 API 17

模拟器真的很慢 希望他们会尽快发布英特尔图像如果要更改它,请使用新的API17 Intel x86映像。(HAXM配置


较早的Android SDK Manager版本:

内置WXGA800皮肤也有同样的问题。通过将虚拟设备设置编辑为:

  • 目标4.0.3 API 15 / 4.1.0 API 16
  • SD卡300MiB
  • 分辨率1280 x 800(手动设置-而非内置)
  • 设备内存大小1024MB(已将MB添加到数字中)
  • 抽象液晶屏160

这是我针对4.1.0 API 16的平板电脑配置 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

此配置也显示了软件密钥 屏幕截图Android 4.1仿真器1280x800 @ 160


1
我以前没有尝试过就觉得有点愚蠢:)谢谢你救了我的命!
caiocpricci2 2012年

2
+1我接受了此建议,然后从命令行启动了仿真器以使其正常工作。希望Xavier会尽快将我们从这种苦涩中解救出来。–
OceanLife 2012年

9
通过将“内存选项:RAM”减少到512,并将SD卡大小设置为300MiB,我消除了错误。
某处某人2012年

3
说真的,真是个愚蠢的错误... / facepalm至少我现在可以进步了!谢谢!
mrswadge

2
哇。这真糟糕。官方的SDK和测试套件无法正确处理此问题?您必须手动编辑.ini文件,并且已经有近一年了?太疯狂了
马特·洛坎普

67

以下解决方案为我工作。在以下配置文件中:

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

更换

hw.ramSize=1024

通过

hw.ramSize=1024MB

1
不知道为什么,但是这解决了。谢谢
schar 2012年

1
很好,这一定是个错误。。。我遵循文件约定,只是使用了M,也可以使用。
HGPB 2012年

17
确实有点可怜的Google。他们不测试吗?
科里·特雷斯

+1这对我有用。可能是因为当我指定内存大小时,我选择了1 GB。
Eng.Fouad

4
在其他答案中,有人声称“ MB”实际上未被识别,并且从1024更改为1024MB实际上将内存减少到256MB,这是默认值,因此它开始工作。资料来源:stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
JuhaPalomäki2013年

9

在我的情况下,解决办法是不仅改变config.ini,而且hardware.ini从特定的皮肤hw.ramSize=1024hw.ramSize=1024MB

查找hardware.ini文件:

  1. 打开config.ini并找到skin.path
  2. 然后导航到android sdk所在的文件夹。
  3. 像这样打开路径:android-sdk\platforms\android-15\skins\WXGA720
  4. 在此文件夹中,您将找到hardware.ini
  5. 更改hw.ramSize=1024hw.ramSize=1024MB

2
为我工作。我不知道为什么人们不喜欢您的答案。谢谢!
Veaceslav Gaidarji


3

如果将AVD RAM设置为大于模拟器可以分配的连续内存的最大块,则触发此错误。关闭所有占用大量RAM的内存,启动仿真器,然后启动所需的所有其他功能。在先前的答案中,我已将其限制为使用IntelHAXM的x86映像,但实际上对于所有类型的仿真器实例都是如此。


3

在AVD设置中:将CPU / ABI选项更改为MIPS。对我有用


1

我遇到了同样的问题,最终的问题是RAM大小:显然1024(或其他大小)与1024MB不同。确保您指定了单位,它应该适合您。


1

更改config.ini文件中的ramSize对我不起作用。

我在“编辑Android虚拟设备”窗口中将SD卡大小更改为1000 MiB。:)


您确定答案与问题有关吗?因为问题似乎与RAM有关,所以如果更改SD卡的大小,RAM不会改变。
类堆叠器

0

转到编辑Android虚拟设备,然后将“内存选项”下的1024更改为768。如果仍然不起作用,请继续降低音量。


0

在AVD设置中减小RAM大小对我有用。AVD速度较慢会占用大量RAM,因此将其保持在最低水平是可行的。



0

如果其他答案对您不起作用,请尝试此操作。

对我来说,这发生在API 27仿真器上。

API 26模拟器运行正常。因此,我首先启动了API 26 Emulator,然后将其关闭。

然后,我启动了API 27 Emulator,并且完全没有错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.