无法分配内存:8

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

无法分配内存:8

这个应用程序已经请求运行时以不寻常的方式终止它。 请联系应用程序的支持团队获取更多信息。

而模拟器不想启动。

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

我想到了。 问题是我为虚拟机指定的RAM数量,它是1024MB,现在我有512MB,这是好的,现在我需要find如何提高这个RAM的数量,512是没有这么多,机器有一点点滞后。

提到Android:在接受的答案下未能分配内存和第一条评论,将“1024”更改为“1024MB”帮助了我。 可怜,但工作。

在我的情况下:

  • 使用内置的WXGA720来模拟720p设备,总是得到这个错误
  • 手动设置AVD分辨率为720 x 1280,为我工作

希望它有助于〜

改用512 Mb。 上述方法都不适用于我。

你在这里和别处读到的其他东西都是纯粹的猜想。 解决这个问题的唯一方法就是投票给这个错误报告 。

该问题与模拟器分辨率或OpenGL无关,也不涉及您的计算机有多less内存。 我的电脑有24GB的内存,而且大部分时间我用hw.ramSize=1024运行。我得到了错误8.其他时候它工作得很好,没有任何configuration改变。 我希望你抓住了这一点:我没有改变仿真器的configuration,但有时它运行,有时失败。

内存碎片有很大的可能性。 我build议减lesshw.ramSize作为临时解决方法的值。

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

不知何故,如果只用emulator.exe启动,我会得到相同的错误消息,当试图通过Eclipse启动。

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

希望有所帮助。

我通过更改设备屏幕大小来解决这个问题。

我发现,如果你指定1024 MB RAM,那么你必须指定设备的屏幕尺寸只在HDPI,如果它是512 MB RAM,那么它应该是MDI或其他。

所以,我们可以明确的说,RAM的大小应该根据屏幕大小来指定。 如果你指定1024 ram的大小,同时保持设备的屏幕大小为mdpi,则会导致上述错误,即“无法分配内存:8此应用程序已经请求运行系统以不寻常的方式终止它。

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

要么

在AVDpipe理器中进行如下select:

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

[2013-01-11 14:44:01 – SDKpipe理器] hw.camera.front =无

[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 – SDKpipe理器] vm.heapSize = 32

[2013-01-11 14:44:01 – SDKpipe理器] hw.ramSize = 343

我经历了在这个线程上提到的所有其他解决scheme,没有发现任何工作,所以我眨了眨眼。 由于某种原因,Google版本的API失败了。 我把它改回了香草,没有更多的崩溃。

我必须有其他问题,但也许这将有助于某人…

看看官方问题33930 。 有人指出,这可能与模拟器启动过程中OpenGL的启动有关。 其他人写道,当他们使用WXGA800皮肤时,它只会崩溃,并build议手动将分辨率设置为800×1280。

此外还有ZIP文件提供手动降级您的Android SDK到版本19和plattform工具到版本11.这可能也有助于暂时解决问题。

我的机器上有16 GB和3.4 Ghz四核处理器。 虚拟机不会让我在1024上运行它。 我把它碰到了878MB,因为它在880时失败了。 这似乎是我可以分配给模拟器最ram。 它仍然很慢,但我认为它比512MB好。

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

我解决了作为存储大小2倍的RAM大小,并通过把SD存储大小相同的RAM大小。

我有同样的问题,但在我得到这个问题之前,它要求我捕捉video源。

我禁用了相机支持,我可以使用1024MB of RAM

使用Windows 64bit, Xoom (Android 3.0)

就我而言,从WVGA720到WSVGA的更新屏幕分辨率对我来说是合适的。

问题出在内存碎片。 操作系统必须将你为虚拟机指定的所有内存(比如1Gb)分配为一个连续的块。 有时候没有这个块。 要修复它closures正在运行的程序,然后运行avd并启动您的虚拟机。

我注意到这只是一个AVD所有其余的我工作得很好。 我删除它,并创build一个新的,现在它的作品。

在Windows上我工作的是:

1)closuresEclipse 2)运行Avd UI 3)closures所有正在运行的进程,尤其是那些内存较大的进程,如Chrome,explorer.exe等。4)启动模拟器5)Win

确保IntelHAXM安装正确。 通过SDKpipe理器进行下载和“安装”是不够的。 您需要从以下位置手动安装它:

android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

此外,请确保在您的BIOS中启用了英特尔虚拟技术。

请按照developer.android.com上的指南或Intel的安装说明进行操作 。

你只需要编辑你的虚拟设备的内存,使其更低! 尝试20 MB,它会工作!