所以,就像很多人用Eclipse开始Android开发一样,即使使用快速机器,我也注意到模拟器的运行速度令人沮丧。
我搜索SO以获得更快速运行的任何提示,并且我遇到this question,其最佳答案表明了一些事情,包括让AVD拥有更多内存。他们建议1024MB:
听起来不错。但是当我尝试启动它时,我明白了:
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.
如果我将其设置为512MB(从默认的256MB开始),则启动正常。
但是为什么在具有12GB物理RAM的Windows 7 x64机器上我不能为AVD分配1024MB?这是Eclipse的限制吗?模拟器限制? Java限制?我认为那个人在另一个问题上得到了它的工作,但我还没弄清楚我在其他地方看到的大多数反应如何说“是的,将它拨到512MB”,这不是我正在寻找的答案。
答案 0 :(得分:8)
在设置AVD时,您必须手动编辑要修复的配置文件,这是一个常见问题。文件位于C:\Documents and Settings\username\.android\avd\name_of_avd.avd\config.ini
从
更改内存设置hw.ramSize=1024
到
hw.ramSize=1024MB
(不要在记事本中启用自动换行)。
保存文件并重新打开avd。 这对我有用。
答案 1 :(得分:2)
很奇怪,但这对我来说在Windows 7 x64机器上有16GB的RAM。您必须在config.ini中的“hw.ramSize”末尾添加MB。 我有像OP写的那样的问题。此外,如果你需要2千兆字节的RAM,写2048MB,模拟器将从Eclipse运行。
答案 2 :(得分:0)
我偶尔会遇到同样的问题,而且我无法确切地告诉你为什么会出现这个问题,但是如果AVD分配的数量超过可用内存的X百分比,那么AVD似乎无法启动。开始的时间。
如果你将给定数量减少50mb,你会经常注意到它会运行得很好。或者,类似地,如果你关闭一些程序来节省一些RAM,它也会完全启动。
我知道这不太理想,但我建议只是少量分配RAM,直到它启动。我希望我能给出更好的答案,但我自己也找不到理由。
答案 3 :(得分:0)
尝试在没有Eclipse的情况下启动AVD以删除该因子。 这可以通过导航到SDK-Path /工具并打开Android(.bat?)然后选择AVD管理器来完成。
我建议打开命令shell,导航到路径然后运行
emulator -avd AVDNAME -scale 0.7 -no-boot-anim
你也可以尝试在没有scale参数的情况下启动它,或者甚至可以尝试使用较低的数字。
答案 4 :(得分:0)
在Windows上,模拟大于768的RAM可能会失败,具体取决于系统负载
答案 5 :(得分:0)
更改
hw.ramSize = 1024
到
hw.ramSize=1024M
这对我有用:-) 希望它会有所帮助!