无法分配内存: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,它会工作!