从今天开始,当我尝试在2.3.3 Android平台上运行NetBeans中的应用程序时,它向我显示:
Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
并且模拟器不想启动。
这是我第一次看到它,并且google没有相关信息,我甚至尝试了两个版本的NetBeans 6.9.1和7.0.1,仍然是同样的错误。
-
只是好奇为什么你使用NetBeans vs Eclipse。我将NetBeans用于其他东西(即php),但刚刚发现使用eclipse更容易安装android。你认为对于日食的好处是什么?
-
我之前从未使用过Eclipse,但我不知道为什么,我讨厌它,原因,它甚至在GUI和NetBeans中都很复杂,但是目前我正在下载它,尝试一下,如果问题消失了,我会做Android内容只在其中。
-
哇,那个评论是一个逗号大屠杀。无论如何,请确保您的AVD使用适当数量的RAM(即足以运行但不超过计算机可以处理的数量)。这是在创建虚拟设备时设置的。
-
大声笑评论,但谢谢,我明白了。问题在于我为虚拟机指定的ram数量,它是1024MB,现在我有512MB并且没关系,现在我需要找到如何提高这个ram数量,512不是那么多,并且机器有点滞后。顺便说一句,你可以回答正常的答案,我会标记为问题的答案;)
-
仅供参考,我有一个16kb内存的Core i7,在我的AVD上最大化了ram并且它们都很遗憾:/
-
而你如何maxxed它?
-
我有一台运行在英特尔酷睿i7处理器上的Windows 8 64位机器。我必须将此AVD(Nexus 7)的ram设置更改为512mb才能运行。
-
在一个不同但相关的问题上,有人提到了一个名为Glary Utilities的东西。套件中有一个内存优化实用程序可将标记为"可用"(在Windows中)的内存恢复到"自由"状态。我试过了,它对我有用。基本上,如果你检查可用内存的数量(不是小条,而是任务管理器中单词Free旁边的实际数量),它可能小于你为模拟器请求的数量。增加此数字,看看您的模拟器是否以所需大小启动。
-
我有ADT v22.6.3。我用皮肤WXGA800和10.1"设备创建AVD。当我将皮肤改为"具有动态硬件控制的皮肤"时,它对我有用。
-
我给RAM:500,仍然模拟器没有加载任何人都可以说出原因是什么@ GlendonTrullinger
我想到了。问题在于我为虚拟机指定的ram数量,它是1024MB,现在我有512MB并且没关系,现在我需要找到如何提高这个ram数量,512不是那么多,并且机器有点滞后。
-
我有同样的问题。我的机器上有8GB的RAM,6GB的空闲,而Android模拟器告诉我它不能分配1GB?
-
我有8GB的Ram,但SDK告诉我,我不能使用它超过512 :)
-
可能与Max Java堆大小或进程大小或其调用的任何内容有关。
-
不起作用,我已经尝试将RAM大小设置为256并仍然得到相同的错误消息...
-
还有一个补救措施。有时,将RAM设置为较低值不起作用。在这种情况下,尝试从命令行启动模拟器,类似emulator-x86 -avd
-
我仍然有问题。我已经按照你所描述的方式一直遵循但没有得到这个问题的原因。我的系统配置是:Windows 7,4GB RAM。仿真器配置:Android v4.0,512MB RAM,堆大小 - 48。
-
刚刚得到解决方案:需要强制指定AVD分辨率:800 x 1280.它按照我的要求启动我的AVD
-
问题来自任何显示外观,它在config.ini中添加1024到hw.ramSize的值(GUI的硬件列表中的Device Ram Size)。确保选择具有较低值的"外观",或者使用手动分辨率并从"硬件"列表中删除此行 - 在选择外观时无法将其删除。
-
1024没有用,768没有用。在配备10G免费的16G机器上运行。
-
这对我有用,谢谢@DenisHoss
-
很棒的问题和很棒的答案。 +1
-
在Windows上,如果内存大于768,则无法创建内存引用,即使内存超过8GB也是如此。
-
为我工作@NiravShah
-
+1将大小从1024MB缩小到512MB解决了这个问题。谢谢
参考Android:未能在接受的答案下分配内存及其第一条评论,将"1024"更改为"1024MB"对我有帮助。可悲,但有效。
-
仿真器无法识别"MB",强制它使用默认的256 MB值。请注意,您指定的金额不是您将获得的金额!
-
你怎么知道?
-
在Apps下查看Runnning,将内存总量列为大约240MB,因此它似乎恢复到256 MB。
-
在"运行配置"窗口中添加来自此链接的参数-memory 512为我修复了它
就我而言:
-
使用内置的WXGA720来模拟720p设备,总是会出现此错误
-
手动将AVD分辨率设置为720 x 1280,适合我
希望它有所帮助?
-
类似这里,默认7"WXGA800失败并设置800 x 1280工作。
你在这里和其他地方读到的其他内容都是纯粹的猜想。修复此问题的唯一可靠方法是投票支持此错误报告。
问题与模拟器分辨率或OpenGL无关,也与计算机的内存量无关。我的计算机里有24GB的内存,大多数时候我用hw.ramSize=1024运行时出现错误8.其他时候它没有任何配置更改就可以正常工作。我希望你抓住了这个:我根本没有改变模拟器配置,但有时它会运行,有时会失败。
它很可能与内存碎片有关。我建议将hw.ramSize的值减少为临时解决方法。
-
尽管如此,你的答案也是纯粹的猜想;对我来说,运行虚拟RAM设置高达2048的任何模拟设备都没有问题(我没有尝试任何更高版本)。但是,这些设备仅在我通过远程桌面访问我的机器时运行。所以对我来说,它肯定是一个图形问题,而不是内存碎片问题。我可以通过在本地和远程之间来回跳转我的会话来可靠地证明这一点。相同的会话,AVD管理器的相同实例,在一个场景中没有可怕的NVIDIA卡和他们的神圣驱动程序。 (但那是对另一个主题的咆哮)。
-
如果它是"RAM碎片",我们可能会使用其中一个愚蠢的免费"RAM碎片整理"程序来测试,对吧?
使用512 Mb代替。上述方法都不适合我。
-
将RAM大小从1024减少到768 Mib后,"无法分配内存:8"错误消失。
-
谢谢!这对我有用
-
他们中的许多人都在说同样的事情来修复512 MB的大小。但它根本没有用
看起来有一千个不同的修复程序......以上都没有为我工作,但有效的是从命令行emulator-arm.exe @ AVD-NAME启动AVD
不知怎的,如果只使用emulator.exe启动,我会得到与尝试通过Eclipse启动时相同的错误消息。
-
你可能和我有同样的问题。从一个位置启动模拟器时会加载DLL文件,而如果从另一个位置启动,则不会加载。
我意识到,当您在正常模式下运行应用程序时,此问题的解决方案源于Eclipse内存分配。我刚刚检查了Eclipse快捷方式属性下的"以管理员身份运行"框,现在它允许我为AVD分配更多内存。
希望有所帮助。
-
+1酷......为我工作......能够为模拟器分配1GB Ram。
我通过更改设备屏幕大小来克服此问题。
我发现,如果你指定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
-
这工作:[2015-07-23 12:54:59 - SDK Manager] disk.dataPartition.size = 500M [2015-07-23 12:54:59 - SDK Manager] hw.gpu.enabled = yes [2015- 07-23 12:54:59 - SDK Manager] hw.audioInput = yes [2015-07-23 12:54:59 - SDK Manager] hw.sensors.orientation = yes [2015-07-23 12:54:59 - SDK Manager] hw.camera.front = none [2015-07-23 12:54:59 - SDK Manager] hw.gps = yes [2015-07-23 12:54:59 - SDK Manager] skin.dynamic = no [2015-07-23 12:54:59 - SDK Manager] hw.keyboard = yes [2015-07-23 12:54:59 - SDK Manager] vm.heapSize = 32 [2015-07-23 12:54 :59 - SDK Manager] hw.ramSize = 512
看一下官方问题33930.有人指出,它可能与模拟器启动期间启动OpenGL有关。其他人在使用WXGA800皮肤时只写崩溃并建议手动将分辨率设置为800x1280。
此外,还提供了ZIP文件,用于手动将Android SDK降级到版本19,将平台工具降级到版本11.这可能有助于暂时解决问题。
-
将分辨率设置为800x1280对我有用...
-
这可能与我的问题有关。从一个位置启动模拟器时会加载DLL文件,而如果从另一个位置启动,则不会加载。
-
必须有更多。首先将其设置为WXGA800,然后将其更改为1280x800的手动分辨率仍然会导致AVD崩溃。只有删除hw.ramSize=1024才能解决问题(如果选择了WXGA,则无法执行此操作,您需要使用手动分辨率设置)。
我经历了这个线程中提到的所有其他解决方案,并没有找到任何有效的解决方案,所以我对它进行了一些调整。由于某些原因,我的API版本失败了。我把它改回了香草,不再崩溃了。
我必须有其他一些问题,但也许这会对某人有所帮助......
-
奇。我被设置为vanilla版本,但将其切换到Google API解决了它。无论如何+1的想法!
我的机器中有16 GB和3.4 Ghz四核处理器。虚拟机也不允许我在1024运行它。我确实把它提升到了878MB,因为它在880时失败了同样的消息。这似乎是我可以分配给模拟器的最多ram。它仍然很慢,但我认为它优于512MB。
我从AVD的启动选项更改我的显示器DPI设置,并将其与我的显示器的原始和当前设置同步,并且它工作正常。
我解决了存储大小为RAM大小的2倍,并将SD存储大小与RAM大小相同。
问题在于内存碎片化。操作系统必须将您为vm指定的所有ram(例如1Gb)分配为一个连续块。有时候没有这样的阻碍。要修复它关闭正在运行的程序,然后运行avd并启动虚拟机。
我有同样的问题,但在我遇到问题之前它要求我捕获一个视频源。
我禁用了相机支持,我可以使用1024MB of RAM。
使用Windows 64bit, Xoom (Android 3.0)。
在我的情况下,从WVGA720到WSVGA的changin屏幕分辨率对我有用。
您只需要编辑虚拟设备的ram,使其降低!试试20 MB,它会工作!
在Windows上对我有用的是:
1)关闭Eclipse
2)运行Avd UI
3)关闭所有正在运行的进程,特别是内存很重的进程,如Chrome,explorer.exe等
4)启动模拟器
5)赢
确保正确安装IntelHAXM。仅通过SDK Manager下载并"安装"它是不够的。您需要手动安装它:
android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager
此外,请确保在BIOS中启用了Intel Virtual Technology。
按照developer.android.com上的指南或英特尔的安装说明进行操作。
我注意到它只与一个avd有关,所有其他的我工作得很好。我删除了它并创建了一个新的,现在它可以工作了。