4

メモリ内に大量のビットマップを持つアプリがあります。それは失敗し続けます

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

エラー。本当にメモリを使いすぎている可能性があります。メモリ リークが発生している可能性があります。何も悪いことをしていない可能性もあり、ヒープの断片化が私たちの命を奪っています。(Android のガベージ コレクターはライブ ブロックを再配置しないため、メガバイトが解放され、50K を割り当てることができない可能性があります。)

フラグメンテーションを除外する方法はありますか? maxAvail/memAvail のようなものを探しましたが、適切なものは見つかりませんでした。

4

1 に答える 1

1

MATを介してヒープを調べることを検討します。Eclipse メモリ アナライザーは、提案された問題のどれが実際に発生しているかを判断するのに役立ちます。

Google I/O 2011 で、メモリ管理とデバッグのトピックに関するいくつかの基本をカバーする講演がありました。オンラインで視聴できます: http://www.youtube.com/watch?v=_CruQY55HOk&feature=relmfu

于 2011-12-10T06:36:31.150 に答える