从今天开始,当我尝试在2.3.3 Android平台的NetBeans中运行一个应用程序时,它向我显示:

Failed to allocate memory: 8 此应用程序请求运行时以一种不寻常的方式终止它。 请联系应用程序的支持团队以获得更多信息。

模拟器不想启动。

这是我第一次看到它,谷歌没有这个asnwers,我尝试了2个版本的NetBeans 6.9.1和7.0.1,仍然是相同的错误。


当前回答

我意识到这个问题的解决方案源于在正常模式下运行应用程序时的Eclipse内存分配。我刚刚检查了Eclipse快捷属性下的“以管理员身份运行”框,现在它允许我为AVD分配更多内存。

希望这能有所帮助。

其他回答

我想明白了。问题是在我为虚拟机指定的ram数量上,它是1024MB,现在我有512MB,这是可以的,现在我需要找到如何提高这个ram数量,512不是很多,而且机器有点滞后。

对我来说,在Windows上有效的是:

1)月食结束 2)运行Avd UI 3)关闭所有正在运行的进程,特别是内存占用较大的进程,如Chrome、explorer.exe等 4)启动模拟器 5)赢得

你在这里和其他地方读到的一切都是纯粹的猜测。解决这个问题的唯一可靠方法是投票给这个错误报告。

这个问题与模拟器分辨率或OpenGL无关,也与你的计算机有多少内存无关。我的电脑有24GB内存,大部分时间我都用hw运行。ramSize=1024我得到错误8。其他时候,它工作得很好,不需要任何配置更改。我希望您注意到:我根本没有更改模拟器配置,但有时它会运行,有时会失败。

这很有可能与内存碎片有关。我建议降低hw的值。ramSize作为临时解决方案。

看起来有一千种不同的修复方法…以上方法对我来说都不适用,但有效的是从命令行模拟器-arm.exe @AVD-NAME启动AVD

如果只使用simulator .exe启动,我将得到与尝试通过Eclipse启动时相同的错误消息。

我通过改变设备屏幕大小克服了这个问题。

我发现如果你指定1024 mb ram,那么你必须在hdpi中指定设备屏幕大小,如果它是512 mb ram,那么它应该是mdpi或其他。

因此,我们可以清楚地说,ram大小应该根据屏幕大小指定。如果你在mdpi中指定1024 ram大小,同时保持设备屏幕大小,那么它会导致上面提到的错误,即“未能分配内存:8这个应用程序已经请求运行时以一种不寻常的方式终止它。

请联系应用程序的支持团队以获取更多信息。”

or

在AVD管理器中设置如下选项:

[2013-01-11 14:44:01 - SDK Manager] hw.sensors.orientation=yes

[2013-01-11 14:44:01 - SDK Manager] h.c ame .front=none

[2013-01-11 14:44:01 - SDK Manager] hh .gps=yes

[2013-01-11 14:44:01 - SDK Manager] skin.dynamic=no

[2013-01-11 14:44:01 - SDK Manager] hw.keyboard=no

[2013-01-11 14:44:01 - SDK Manager] vm.heapSize=32

[2013-01-11 14:44:01 - SDK Manager] hw.ramSize=343