从今天起,当我尝试在2.3.3 Android平台上运行NetBeans中的应用程序时,它向我显示:
无法分配内存:8
此应用程序已请求Runtime以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。
并且模拟器不想启动。
这是我第一次看到它,并且谷歌没有相关信息,我甚至尝试了两个版本的NetBeans 6.9.1和7.0.1,仍然是同样的错误。
答案 0 :(得分:373)
我明白了。问题在于我为虚拟机指定的ram数量,它是1024MB,现在我有512MB并且没关系,现在我需要找到如何提高这个ram数量,512不是那么多,并且机器有点滞后。
答案 1 :(得分:61)
参考Android: failed to allocate memory及其在接受答案下的第一条评论,将“1024”更改为“1024MB”对我有帮助。可悲,但有效。
答案 2 :(得分:43)
就我而言:
答案 3 :(得分:30)
您在此处和其他地方阅读的其他内容都是纯粹猜想。解决此问题的唯一可靠方法是投票支持bug report。
问题与仿真器分辨率或OpenGL无关,也与计算机的内存量无关。我的计算机内存有24GB内存,大多数情况下我使用hw.ramSize=1024
运行时出现错误8.其他时候它没有任何配置更改就可以正常运行。我希望你抓住了这个:我根本没有改变模拟器配置,但有时它会运行,有时会失败。
它很可能与内存碎片有关。我建议将hw.ramSize
的值减少为临时解决方法。
答案 4 :(得分:30)
使用512 Mb代替。上述方法均不适合我。
答案 5 :(得分:17)
看起来有一千个不同的修复程序......以上都没有为我工作,但是有效的方法是从命令行模拟器-arm.exe @ AVD-NAME启动AVD
如果只使用emulator.exe启动,我会得到与尝试通过Eclipse启动时相同的错误消息。
答案 6 :(得分:14)
我意识到当您在正常模式下运行应用程序时,此问题的解决方案源于Eclipse内存分配。我刚刚检查了Eclipse快捷方式属性下的“以管理员身份运行”框,现在它允许我为AVD分配更多内存。
希望有所帮助。
答案 7 :(得分:13)
我通过更改设备屏幕尺寸来解决此问题。
我发现如果你指定的是1024 mb ram,那么你必须只用hdpi指定设备屏幕大小,如果它是512 mb ram那么它应该是mdpi或其他。
所以,我们可以清楚地说,应根据屏幕尺寸指定ram尺寸。如果在保持设备屏幕大小为mdpi的同时指定1024 ram大小,则会导致上述错误,即“无法分配内存:8此应用程序已请求运行时以不寻常的方式终止它。”
请联系应用程序的支持团队以获取更多信息。“
或
按如下方式在AVD管理器中进行选择:
[2013-01-11 14:44:01 - SDK Manager] hw.sensors.orientation = yes
[2013-01-11 14:44:01 - SDK Manager] hw.camera.front = none
[2013-01-11 14:44:01 - SDK Manager] hw.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
答案 8 :(得分:6)
我仔细检查了这个帖子中提到的所有其他解决方案,但没有发现任何有效的解决方案,所以我对它进行了一些调整。由于某些原因,我的API版本失败了。我把它改回了香草,不再崩溃了。
我必须有其他一些问题,但也许这会对某人有所帮助......
答案 9 :(得分:6)
查看官方issue 33930。有人指出,它可能与模拟器启动期间启动OpenGL有关。其他人在使用WXGA800皮肤时只写崩溃并建议手动将分辨率设置为800x1280。
此外,还提供了ZIP文件,用于手动将Android SDK降级到版本19,将平台工具降级到版本11.这可能有助于暂时解决问题。
答案 10 :(得分:5)
我的机器中有16 GB和3.4 Ghz四核处理器。虚拟机也不允许我在1024运行它。我确实把它提升到了878MB,因为它在880时失败了同样的消息。这似乎是我可以分配给模拟器的最多ram。它仍然很慢,但我认为它优于512MB。
答案 11 :(得分:4)
我从AVD的启动选项中更改了我的显示器DPI设置,并将其与我的显示器的原始和当前设置同步,并且它有效。
答案 12 :(得分:4)
我通过将存储大小设置为RAM大小的2倍,并将SD存储大小与RAM大小相同来解决。
答案 13 :(得分:3)
问题在于内存碎片化。操作系统必须将您为vm指定的所有ram(例如1Gb)分配为一个连续块。有时候没有这样的阻碍。要修复它关闭正在运行的程序,然后运行avd并启动虚拟机。
答案 14 :(得分:3)
就我而言,从WVGA720到WSVGA的changin屏幕分辨率对我有用。
答案 15 :(得分:3)
我遇到了同样的问题,但在我遇到问题之前,它要求我捕获一个视频源。
我禁用了相机支持,我可以使用1024MB of RAM
。
使用Windows 64bit, Xoom (Android 3.0)
。
答案 16 :(得分:2)
在Windows上对我有用的是:
1)关闭Eclipse 2)运行Avd UI 3)关闭所有正在运行的进程,特别是内存很重的进程,如Chrome,explorer.exe等 4)启动模拟器 5)赢了
答案 17 :(得分:2)
确保正确安装IntelHAXM。仅通过SDK Manager下载并“安装”它是不够的。您需要从以下位置手动安装它:
android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager
另外,请确保在BIOS中启用了英特尔虚拟技术。
按照developer.android.com或Intel's installation instructions上的指南进行操作。
答案 18 :(得分:2)
您只需要编辑虚拟设备的ram,使其降低!尝试20 MB,它会工作!
答案 19 :(得分:1)
我注意到这与其他所有其他我工作正常的avd有关。我删除了它并创建了一个新的,现在它可以工作。