【问题标题】:Android emulator failed to allocate memory 8Android模拟器分配内存失败8
【发布时间】:2012-07-24 22:58:54
【问题描述】:

当我尝试从 Eclipse 运行我的 WXGA800 模拟器时,它会出现这样的错误

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.

我还检查了以下链接

Failed to allocate memory: 8

Android: failed to allocate memory

我尝试减少模拟器中的 RAM 大小并增加 Java heapsize 和 ramsize,但我仍然面临同样的错误。

【问题讨论】:

标签: android android-emulator


【解决方案1】:

如果其他答案不适合您,请尝试此操作。

对我来说,这发生在 API 27 模拟器上。

API 26 模拟器运行良好。所以我先启动了API 26 Emulator,然后又关闭了。

然后我启动了 API 27 Emulator,它完全没有错误。

【讨论】:

    【解决方案2】:

    对于 Skin 移除 No Skin 并在其中添加一些皮肤

    【讨论】:

      【解决方案3】:

      更新:从 Android SDK Manager 版本 21 开始,解决方法是编辑 C:\Users\.android\avd\.avd\config.ini 并更改值

      hw.ramSize=1024 到

      hw.ramSize=1024MB

      hw.ramSize=512MB

      【讨论】:

        【解决方案4】:

        减少 AVD 设置中的 RAM 大小对我有用。缓慢的 AVD 会占用大量 RAM,因此将其保持在最低限度是可行的。

        【讨论】:

          【解决方案5】:

          去编辑Android Virtual Devices,把1024 Under Memory Options改成768。如果还是不行,继续往下调。

          【讨论】:

            【解决方案6】:

            更改 config.ini 文件中的 ramSize 对我不起作用。

            我在“编辑 Android 虚拟设备”窗口中将 SD 卡大小更改为 1000 MiB ...它成功了! :)

            【讨论】:

            • 您确定您的回答与问题有关吗?因为这个问题似乎与 RAM 有关,如果改变 SD 卡的大小,它不会改变。
            【解决方案7】:

            更新:从 Android SDK Manager 版本 21 开始,解决方法是编辑 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini 并更改值

            hw.ramSize=1024 
            

            hw.ramSize=1024MB
            

            模拟器真的很慢,希望他们尽快发布英特尔映像如果你想改变它,请使用新的 API17 Intel x86 映像..(HAXMConfiguration) p>


            较早的 Android SDK 管理器版本:

            内置 WXGA800 皮肤也有同样的问题。我通过将虚拟设备设置编辑为:

            • 目标 4.0.3 API 15 / 4.1.0 API 16
            • SD 卡 300MiB
            • 分辨率 1280 x 800(手动设置 - 不是内置的)
            • 设备内存大小 1024MB(数字加上 MB)
            • 抽象 LCD 160

            这是我的 4.1.0 API 16 平板电脑配置 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

            hw.lcd.density=160
            sdcard.size=300M
            skin.path=1280x800
            skin.name=1280x800
            hw.cpu.arch=arm
            abi.type=armeabi-v7a
            hw.cpu.model=cortex-a8
            vm.heapSize=48
            hw.ramSize=1024MB
            image.sysdir.1=system-images\android-16\armeabi-v7a\
            

            此配置也显示软件密钥

            【讨论】:

            • 我觉得之前没有尝试过有点愚蠢:)!谢谢你救了我的命!
            • +1 我接受了这个建议,然后从命令行启动了模拟器以使其工作。希望泽维尔能尽快把我们从这种脆弱中解救出来......
            • 我通过将“内存选项:RAM”减少到 512 并将 SD 卡大小设置为 300MiB 来消除错误。
            • 说真的,多么愚蠢的错误... /facepalm 至少我现在可以进步了!谢谢!
            • 哇。这真糟糕。官方 SDK 和测试套件不能正确处理这个问题?您必须手动编辑 .ini 文件,而且这种情况已经持续了将近一年?这太疯狂了。
            【解决方案8】:

            就我而言,解决方案是不仅将config.ini 更改为特定皮肤的hardware.inihw.ramSize=1024 更改为hw.ramSize=1024MB

            要查找hardware.ini 文件:

            1. 打开config.ini并找到skin.path
            2. 然后导航到android sdk所在的文件夹。
            3. 打开路径,如下所示:android-sdk\platforms\android-15\skins\WXGA720
            4. 在此文件夹中,您将找到 hardware.ini
            5. hw.ramSize=1024 更改为hw.ramSize=1024MB

            【讨论】:

            • 为我工作。我不知道为什么人们不喜欢你的答案。谢谢!
            【解决方案9】:

            在 AVD 设置中: 将 CPU/ABI 选项更改为 MIPS。 它对我有用

            【讨论】:

              【解决方案10】:

              如果您将 AVD RAM 设置为大于模拟器能够分配的单个最大连续内存块的任何值,则会触发此错误。关闭任何 RAM 重的东西,启动你的模拟器,启动你需要的一切。在之前的回答中,我已将其限制为使用 IntelHAXM 的 x86 图像,但实际上所有类型的模拟器实例都是如此。

              【讨论】:

                【解决方案11】:

                我遇到了同样的问题,最终的问题是 RAM 大小:显然 1024(或任何大小)与 1024MB 不同。确保你指定了单位,它应该适合你。

                【讨论】:

                  【解决方案12】:

                  以下解决方案对我有用。在以下配置文件中:

                  C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini
                  

                  替换

                  hw.ramSize=1024
                  

                  通过

                  hw.ramSize=1024MB
                  

                  【讨论】:

                  • 不知道为什么,但这解决了它。谢谢
                  • 好地方,这一定是一个错误...我遵循了文件约定,只是使用了一个 M,这也有效。
                  • Google 有点可悲,真的。他们不测试吗?
                  • +1 这对我有用。也许是因为当我指定内存大小时,我选择了 1 GB。
                  • 在其他答案中,有人声称“MB”实际上并未被识别,从 1024 更改为 1024MB 实际上会将内存减少到默认的 256MB,因此它开始工作。来源:stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
                  猜你喜欢
                  • 2012-11-28
                  • 2012-07-04
                  • 2014-03-03
                  • 2013-02-19
                  • 2011-02-05
                  • 2011-11-05
                  • 2016-05-01
                  • 2011-12-12
                  相关资源
                  最近更新 更多