eclipse中的android avd虚拟内存设置

时间:2012-07-23 22:09:29

标签: android eclipse memory

我想增加avd的默认虚拟内存堆大小。我正在使用Eclipse 3.7.2进行开发,当我创建(或编辑)avd时,我将“最大VM应用程序堆”设置为64MB。如果我选择详细信息,它会确认这一点,如果我检查config.ini文件,我会看到“vm.heapSize=64”这是正确的。问题是运行avd时实际上并不是这样。

在我的应用程序中,我运行“Runtime.getRuntime().maxMemory();”,显示24MB !!!!

同样,

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
int memoryClass = am.getMemoryClass();

显示24MB

更新:我注意到在hardware-qemu.ini中“vm.heapSize = 24”?我将值更改为64,但是当我启动avd时它会变回24?

UPDATE: totalMemory()返回~15MB

更新: ADT版本为20.0.1

更新:我已经测试了这一组,制作了许多不同的AVD,有许多不同的设置,我可以得出的结论是AVD或Eclipse有点儿错误并且通常不反映设置值你输入AVD。请注意,我已经制作了反映vm.heapSize = 64的AVD设备。

2 个答案:

答案 0 :(得分:1)

基于此Google网上论坛question,我对文档的解释听起来就像这些值仅适用于您的应用程序,而不是整个模拟器。

我很想知道totalMemory()是否会返回64米。这是documentation

根据{{​​3}}

编辑: getMemoryClass():

  

返回当前的每个应用程序的近似内存类   设备

归结为没有编程方法可以找到模拟器(设备)的堆大小。

编辑2:我想您也可以在这里找到答案。 - documentation

祝你好运。

答案 1 :(得分:0)

似乎hardware.ini优先于你的皮肤文件夹中的config.ini(类似于平台\ android-8 \ skins \ WVGA800,具体取决于您选择的默认分辨率)