无法分配内存:8

Den*_*ees 368 android netbeans android-emulator

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

无法分配内存:8

此应用程序已请求Runtime以不寻常的方式终止它.有关更多信息,请联系应用程序的支持团队.

并且模拟器不想启动.

这是我第一次看到它,并且google没有相关信息,我甚至尝试了两个版本的NetBeans 6.9.1和7.0.1,仍然是同样的错误.

Den*_*ees 373

我想到了.问题在于我为虚拟机指定的ram数量,它是1024MB,现在我有512MB并且没关系,现在我需要找到如何提高这个ram数量,512不是那么多,并且机器有点滞后.

  • 我有同样的问题.我的机器上有8GB的RAM,6GB的空闲,而Android模拟器告诉我它不能分配1GB? (20认同)
  • 刚刚得到解决方案:需要强制指定AVD分辨率:800 x 1280.它按照我的要求启动我的AVD (14认同)
  • 我有8GB的Ram,但SDK告诉我,我不能使用它超过512 :) (5认同)
  • 还有一个补救措施.有时,将RAM设置为较低值不起作用.在这种情况下,尝试从命令行启动模拟器,例如`emulator-x86 -avd <your_avd_name>` (5认同)
  • 问题来自任何显示皮肤,它在config.ini(GUI的硬件列表中的`Device Ram Size`)中将值1024添加到`hw.ramSize`.确保选择具有较低值的"外观",或者使用手动分辨率并从"硬件"列表中删除此行 - 在选择外观时无法将其删除. (4认同)
  • 1024没有用,768没有用.在配备10G免费的16G机器上运行. (3认同)

Fen*_*res 61

参考Android:未能在接受的答案下分配内存及其第一条评论,将"1024"更改为"1024MB"对我有帮助.可悲,但有效.

  • 仿真器无法识别"MB",强制它使用默认的256 MB值.请注意,您指定的金额不是您将获得的金额! (29认同)

RRT*_*RTW 43

就我而言:

  • 使用内置的WXGA720来模拟720p设备,总是会出现此错误
  • 手动将AVD分辨率设置为720 x 1280,适合我

希望它有所帮助〜


sla*_*h33 30

使用512 Mb代替.上述方法都不适合我.


Gil*_*ili 30

你在这里和其他地方读到的其他内容都是纯粹的猜想.修复此问题的唯一可靠方法是投票支持此错误报告.

问题与模拟器分辨率或OpenGL无关,也与计算机的内存量无关.我的计算机里有24GB内存,大多数时候我运行时hw.ramSize=1024出现错误8.其他时候它没有任何配置更改就可以正常工作.我希望你抓住了这个:我根本没有改变模拟器配置,但有时它会运行,有时会失败.

它很可能与内存碎片有关.我建议减少hw.ramSize作为临时解决方法的价值.

  • 尽管如此,你的答案也是纯粹的猜想; 对我来说,运行虚拟RAM设置高达2048的任何模拟设备都没有问题(我没有尝试任何更高版本).但是,这些设备只能在我通过**远程桌面**访问我的机器时运行.所以对我来说,它肯定是一个图形问题,而不是内存碎片问题.我可以通过在本地和远程之间来回跳转我的会话来可靠地证明这一点.相同的会话,AVD管理器的相同实例,在一个场景中没有可怕的NVIDIA卡和他们的神圣驱动程序.(但那是对另一个主题的咆哮). (2认同)

小智 17

看起来有一千个不同的修复程序......以上都没有为我工作,但有效的是从命令行emulator-arm.exe @ AVD-NAME启动AVD

不知怎的,如果只使用emulator.exe启动,我会得到与尝试通过Eclipse启动时相同的错误消息.


小智 14

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

希望有所帮助.


Vsw*_*w10 13

我通过更改设备屏幕大小来克服此问题.

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

所以,我们可以清楚地说,应根据屏幕尺寸指定ram尺寸.如果您指定1024 ram大小同时保持设备屏幕大小为mdpi,则会导致上述错误,即"无法分配内存: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


小智 6

我经历了这个帖子中提到的所有其他解决方案,并没有发现任何有效的东西,所以我对它进行了一些调整.由于某些原因,我的API版本失败了.我把它改回了香草,不再崩溃了.

我必须有其他一些问题,但也许这会对某人有所帮助......


小智 6

看看官方问题33930.有人指出,它可能与模拟器启动期间启动OpenGL有关.其他人在使用WXGA800皮肤时只写崩溃并建议手动将分辨率设置为800x1280.

此外,还提供了ZIP文件,用于手动将Android SDK降级到版本19,将平台工具降级到版本11.这可能有助于暂时解决问题.


son*_*erd 5

我的机器中有16 GB和3.4 Ghz四核处理器.虚拟机也不允许我在1024运行它.我确实把它提升到了878MB,因为它在880时失败了同样的消息.这似乎是我可以分配给模拟器的最多ram.它仍然很慢,但我认为它优于512MB.


小智 5

我从 AVD 的启动选项更改了我的显示器 DPI 设置,并将其与我的显示器的原始和当前设置同步,并且它起作用了。