1

私は多くのRAMを使用する多くのビットマップを持つAndroidアプリを開発しています。私の質問は、アプリを長時間実行し続け、RAMの使用量が64 MBを超えると、アプリが「メモリ不足エラー、VMで割り当てられない...など」でクラッシュすることです。

Facebookなどの他のアプリは200MBのRAMに達することがありますが、クラッシュすることなく、非常に高速なパフォーマンスを発揮します。私のデバイスはGalaxySIIです。

私の質問はメモリ使用量の削減ではなく、自分のアプリと他のアプリのメモリ制限の違いに関するものであることに注意してください。

ありがとう。

4

2 に答える 2

1

アプリケーションが使用できるメモリの量には制限があると思います...以前は32MBでした...ハードウェアアクセラレーションを要求するのと同じように、より多くのメモリを要求するように変更できる許可がある場合があります。簡単なグーグルからandroid:largeHeap = "true"があなたの答えかもしれません...またRuntime.getRuntime()。maxMemory(); 役立つかもしれません?このリンクも面白かったです...

于 2012-09-20T22:42:18.943 に答える
0

vmが各アプリケーション用に予約しているメモリの量はAndroidエコシステムの一部ではなく、決定することはできません。これは、製造元によって提供された構成の一部です。

通常、各vmのメモリサイズに関する最後の単語はファイルによって与えられますbuild.prop

何をしているのかわからない場合は、NDKトリックを使用しないでください。

于 2012-09-20T22:47:51.840 に答える