【问题标题】:Android: failed to allocate memoryAndroid:分配内存失败
【发布时间】:2011-08-23 13:37:30
【问题描述】:

我正在尝试创建一个具有 2047 mb 内存的模拟器。 当我运行它时,我得到了这个错误:

[2011-02-22 14:24:14 - Emulator]
[2011-02-22 14:24:14 - Emulator] This application has requested the Runtime to terminate it in an unusual way.
[2011-02-22 14:24:14 - Emulator] Please contact the application's support team for more information.
[2011-02-22 14:24:26 - Emulator] Failed to allocate memory: 8

我知道降低数字会使它起作用。但我宁愿拥有更多的内存,这样我就可以测试我正在开发的游戏。我假设有更多的内存,它会运行得更快......

有人在模拟器上安装了 2047 mb 的内存吗?如果是这样,怎么做?您使用了哪些设置?您是否更改了计算机上的任何特别内容?

使用windows 7 64位,更新到最新的android sdk。我还有超过 8gb 的可用内存。我确实有一个设备(摩托罗拉里程碑)可以测试,但是由于它是一个基于网络的游戏,除了我的手机之外,我还需要至少一个其他客户端(希望使用模拟器)来运行。

【问题讨论】:

  • 没听说过有 2Gb RAM 的 Android 设备,那么制作这样的模拟器有什么意义呢?
  • 正如我上面提到的,我正在尝试运行游戏。我假设分配更多的内存将使游戏运行得更快(即渲染屏幕/发送包更快)。如果 2047mb 的内存不合理,我不明白为什么开发人员会首先允许它。
  • 你可以轻松摆脱它查看我的帖子stackoverflow.com/a/14851626/1461730
  • @Egor 我拥有一个 2GiB 的机器人。你听起来像那些说没有人需要 512k 的人!

标签: android android-emulator


【解决方案1】:

我必须这样做转到“工具 -> Android -> AVD 管理器 -> 选择您的设备 -> 编辑 -> 高级设置 -> 将 RAM 参数更改为 512 Mb。

【讨论】:

    【解决方案2】:

    我有同样的问题,但后来想通了。问题在于我为虚拟机指定的内存量,默认为 1024MB,现在我将其更改为 512MB,它可以工作;虽然我的电脑有 8GB 的​​ RAM。

    【讨论】:

      【解决方案3】:

      在我安装了 HAXM 并出现错误后,简单的计算机重启帮助了我 :)

      【讨论】:

        【解决方案4】:

        编辑设备设置并将 RAM 分配更改为较小的数字。如果是 1024 或更多,请将其减少到 512Mb 或 256Mb。 您可以在“编辑 Android 虚拟设备 (AVD)”对话框的硬件部分中更改它 --> 设备内存大小

        【讨论】:

          【解决方案5】:

          我也收到“未能分配内存:8”错误。我有 W7-64 位和 8GB 的​​ RAM。我发现通过“以管理员身份”运行 AVD,错误消失了,允许模拟器启动。

          【讨论】:

            【解决方案6】:

            解决方案是你去编辑 C 盘用户文件夹中 .android 文件夹中那个 perticuler avd 的配置文件 RAM = 1024 MB 而不是 1024

            问题是MB不存在...

            【讨论】:

              【解决方案7】:

              在运行配置窗口中添加参数 -内存512

              参考截图

              【讨论】:

                【解决方案8】:

                在将我的 Android ADK 工具升级到 20 后,我也收到了此错误消息(即使我有足够的 RAM)。对“设备 RAM 大小”属性所做的更改没有帮助(无论是更高或更低,还是使用“MB”)。

                对我有用的是在命令行运行模拟器并在那里指定 RAM 数量(在我的情况下小于默认值);例如:

                emulator -memory 512 -avd my_avd
                

                【讨论】:

                • 这是我让我的 avd 运行的唯一方法。谢谢
                • 两天后...唯一的解决方案...谢谢
                【解决方案9】:

                运行更快的模拟器的解决方案:

                http://androiddevnotes.com/2011/03/08/1299521520000.html

                让我的游戏运行速度更快,堪比手机质量。

                -- 2012 年 8 月 24 日更新--

                我看到仍然有人来这里评论这个答案,我对这个问题做了更多的研究。我向您介绍我的发现结果。

                注意:这些测试是在我的电脑上运行的,您的电脑可能不同。

                1. 使用属性“设备内存大小”= 2048 运行 Android 2.2 (armeabi) 模拟器将 失败,和以前一样
                2. 运行一个 Android 2.2 (armeabi) 模拟器,属性 'Device ram size' = 2048 MB 会通过,然而如果你真的检查设备上的 ram,它的大约 128 MB。
                  • 检查 1:设置 > 应用程序 > 运行服务 - 在屏幕底部添加所有数字
                  • 检查 2:在 adb shell 中运行以下命令:cat /proc/meminfo/ 并注意 MemTotal 字段
                3. 运行一个 Android 4.1 (armeabi-v7) 模拟器,属性 'Device ram size' = 2048 可以工作,但是如果你真的检查设备上的 ram 大约 512 MB
                  • 检查 1:设置 > 应用程序 > 运行选项卡 - 在屏幕底部添加所有数字
                  • 检查 2:在 adb shell 中运行以下命令:cat /proc/meminfo/ 并注意 MemTotal 字段
                4. 运行 Android 4.1 (armeabi-v7) 模拟器,属性 'Device ram size' = 2048 MB 也可以,但结果与 3 相同。

                结论

                添加 'MB'(如以下某些 cmets 所述)可能允许您的设备启动,但它实际上没有 2 GB 的 RAM。即使使用 4.1 模拟器,RAM 大小也为 512 MB。

                推荐

                请使用实际设备进行测试。

                【讨论】:

                • 实际上有两个原因可能会发生这种情况。 1.您在本地计算机上没有足够的 RAM 分配给模拟器 2.您没有将 MB 放入设备 RAM 的值字段中...如果您写入 512 它将失败 512MB 将起作用等
                • @grobartn 1. 正如我在开篇文章中所说,我有超过 8 GB 的 RAM(准确地说是 12GB)。 2. 您可以在硬件属性中指定设备 RAM 大小。描述说整数以兆字节为单位。 IE。放“MB”是不必要的
                • 解决了我的问题,到目前为止,我遇到了很多 eclipse 或 android 搞砸的情况,我不相信他们说的任何话
                • 感谢 MB 的提示,对我有很大帮助!
                • 只是评论让人们知道,f20k 不正确,添加 MB 使我的模拟器工作,非常感谢@grobartn
                【解决方案10】:

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

                【讨论】:

                  【解决方案11】:

                  我遇到了同样的问题,但在我遇到问题之前,它要求我捕获视频源。我禁用了相机支持,并且能够使用 1024MB 的 RAM。使用 Windows 64 位、Xoom (Android 3.0)。我希望这对遇到同样问题的人有所帮助。

                  【讨论】:

                    【解决方案12】:

                    我也收到此错误。使用 RAM 512。

                    【讨论】:

                    • 如果你正在寻找真正的模拟器支持调试等,这是最好的方法 - 只需减少你的模拟器内存​​,它就会停止崩溃。在我的带有 4gb 内存的 macbook air 上,它运行良好,内存设置为 1024,在我的戴尔笔记本电脑上运行 win7 和 4gb 内存 - 不得不把它调低到 512...meh
                    猜你喜欢
                    • 2016-05-01
                    • 2011-12-12
                    • 2014-03-03
                    • 1970-01-01
                    • 2012-07-24
                    • 2013-02-19
                    • 1970-01-01
                    • 2018-03-23
                    相关资源
                    最近更新 更多