Android:无法分配内存

f20*_*20k 20 android android-emulator

我正在尝试用2047 mb ram创建一个模拟器.当我运行它时,我收到此错误:

[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
Run Code Online (Sandbox Code Playgroud)

我知道降低数量会使它发挥作用.但是我宁愿拥有更多的ram,所以我可以测试我正在开发的游戏.我假设有更多的公羊,它会跑得更快......

有没有人在模拟器上获得2047 mb的ram?如果是这样,怎么样?你用了什么设置?你在电脑上有什么特别的改变吗?

使用Windows 7 64位,更新到最新的android sdk.我也有超过8GB的ram.我确实有一个设备(摩托罗拉里程碑)进行测试,但由于它是一个基于网络的游戏,我需要至少一个其他客户端(希望使用模拟器)除了我的手机运行.

f20*_*20k 20

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

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

与电话质量相比,我的游戏运行速度更快.

- 更新08/24/12 -

我看到人们仍然来到这里评论这个答案,我对这个问题做了更多的研究.我告诉你我的调查结果.

注意:这些测试是在我的计算机上运行的,您的计算机可能不同.

  1. 使用属性'Device ram size'= 2048运行Android 2.2(armeabi)模拟器将失败,就像以前一样
  2. 运行具有属性'设备ram size'= 2048 MB的Android 2.2(armeabi)模拟器将通过,但是如果您实际检查设备上的ram,则其大约128 MB.
    • 检查1:设置>应用程序>正在运行的服务 - 添加屏幕底部的所有数字
    • 检查2:在adb shell中运行以下命令:cat /proc/meminfo/并记下MemTotal字段
  3. 使用属性'Device ram size'= 2048运行Android 4.1(armeabi-v7)模拟器将起作用,但是如果您实际检查设备上的ram大约512 MB
    • 选中1:设置>应用>运行选项卡 - 添加屏幕底部的所有数字
    • 检查2:在adb shell中运行以下命令:cat /proc/meminfo/并记下MemTotal字段
  4. 使用属性'Device ram size'= 2048 MB运行Android 4.1(armeabi-v7)模拟器也可以,但结果与3相同.

结论

如下面的一些评论中所述添加"MB"可能允许您的设备启动,但它实际上没有2 GB的RAM.即使使用4.1仿真器,RAM大小也是512 MB.

建议

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

  • 实际上有两个原因可能发生.1.你没有足够的RAM在本地机器上分配给模拟器2.你没有把MB放在设备RAM的值字段...如果你写512它将失败512MB将工作等 (7认同)

Dev*_*per 17

我也得到了这个错误.使用RAM 512.


小智 13

将Android ADK工具升级到20后,我也收到此错误消息(即使我有足够的RAM)."设备RAM大小"属性的更改没有帮助(无论是更高还是更低,还是"MB").

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

emulator -memory 512 -avd my_avd
Run Code Online (Sandbox Code Playgroud)


vog*_*ash 12

在Run Configurations窗口中添加参数 -memory 512

查看截图以供参考

运行选项


shr*_*ari 5

解决方案是你去编辑c驱动器用户文件夹中.android文件夹中的perticuler avd的配置文件,RAM = 1024 MB而不是1024

问题是MB不存在......