从今天开始,当我尝试在2.3.3 Android平台的NetBeans中运行一个应用程序时,它向我显示:
Failed to allocate memory: 8 此应用程序请求运行时以一种不寻常的方式终止它。 请联系应用程序的支持团队以获得更多信息。
模拟器不想启动。
这是我第一次看到它,谷歌没有这个asnwers,我尝试了2个版本的NetBeans 6.9.1和7.0.1,仍然是相同的错误。
从今天开始,当我尝试在2.3.3 Android平台的NetBeans中运行一个应用程序时,它向我显示:
Failed to allocate memory: 8 此应用程序请求运行时以一种不寻常的方式终止它。 请联系应用程序的支持团队以获得更多信息。
模拟器不想启动。
这是我第一次看到它,谷歌没有这个asnwers,我尝试了2个版本的NetBeans 6.9.1和7.0.1,仍然是相同的错误。
当前回答
你只需要编辑你的虚拟设备的内存,使它更低!尝试20 MB,它将工作!
其他回答
我的机器有16gb和3.4 Ghz的四核处理器。虚拟机也不允许我在1024上运行它。我确实把它提升到878MB,因为它在880的时候失败了,发出了相同的消息。这似乎是我可以分配给模拟器的最大内存。它仍然很慢,但我假设它比512MB要好。
问题在于内存碎片。操作系统必须将你为vm指定的所有ram(比如1Gb)分配为一个连续的块。有时没有这样的障碍。若要修复该问题,请关闭正在运行的程序,然后运行avd并启动虚拟机。
你在这里和其他地方读到的一切都是纯粹的猜测。解决这个问题的唯一可靠方法是投票给这个错误报告。
这个问题与模拟器分辨率或OpenGL无关,也与你的计算机有多少内存无关。我的电脑有24GB内存,大部分时间我都用hw运行。ramSize=1024我得到错误8。其他时候,它工作得很好,不需要任何配置更改。我希望您注意到:我根本没有更改模拟器配置,但有时它会运行,有时会失败。
这很有可能与内存碎片有关。我建议降低hw的值。ramSize作为临时解决方案。
我通过改变设备屏幕大小克服了这个问题。
我发现如果你指定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
我遍历了这篇文章中提到的所有其他解决方案,但没有发现任何有效的解决方案,所以我稍微研究了一下。由于某种原因,API的谷歌版本在我身上失败了。我把它改回香草味,而且不再崩溃了。
我肯定有其他问题,但也许这将帮助某人…