2

のデフォルトの仮想メモリ ヒープ サイズを増やしたいと考えています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 に戻りますか?

更新: totalMemory() は ~15MB を返します

更新: ADT のバージョンは 20.0.1 です

更新:私はこれをたくさんテストし、さまざまな設定でさまざまな AVD を作成しましたが、AVD または Eclipse には少しバグがあり、AVD に入力した設定値が反映されないことが多いと結論付けることができます。vm.heapSize=64 を反映する AVD デバイスを作成したことに注意してください。

4

2 に答える 2

1

このGoogleグループの質問とドキュメントの私の解釈に基づいて、これらの値はエミュレータ全体ではなく、アプリケーションのみに適用されるようです。

totalMemory()64mを返すかどうか知りたいです。ここにドキュメントがあります。

編集:ドキュメントに従って getMemoryClass() :

現在のデバイスのおおよそのアプリケーションごとのメモリ クラスを返します。

つまり、エミュレーター (デバイス) のヒープ サイズを取得するためのプログラム的な方法はありません。

編集 2:ここでも答えを見つけることができると思います。- Android デバイスの合計メモリ RAM を取得するにはどうすればよいですか?

幸運を。

于 2012-07-23T22:40:42.533 に答える
0

hardware.ini は、スキン フォルダーの config.ini よりも優先されるようです (選択したデフォルトの解像度に応じて、platforms\android-8\skins\WVGA800 のようなもの)。

于 2012-09-21T20:36:54.823 に答える