1

Bitmaps何らかの理由で、私のアプリケーションでリークしています。私は、ディスクとメモリのキャッシュを備えた遅延リストを使用していますが、これは後で約 10 Mb に制限されます。アプリをテストする時間が長くなるほどBitmaps、メモリに保存されたままになり、リリースされることはありません。このアプリは、サーバーからダウンロードしたフルスクリーンの背景ListViewsAdapters同様に多用します。ImageViews

DDMSとですでに 3 日間調査してきましたが、誰がリークを作成したのか、またはそれらがガベージ コレクションされるのを妨げている参照は何かMATを突き止めることができません。Bitmaps多くBitmapsは遅延リスト メモリ キャッシュによって参照されていますが、アプリ クラスの 1 つに簡単に関連付けることができる参照を持たないものもあります。それらは、さまざまViewsな likeImageViewsまたはによって参照されているだけLayoutsです。

これは、アプリの各画面に1 つと 1 つActivityFragment使用するこのアプリの設計が最適ではないことが原因である可能性があると思われます。Fragmentただし、私のクラスへの参照はありません。

それらを保持できるものについて何か考えはありBitmapsますか?がリリースされている可能性はありFragmentsますが、 などのリスナーは、すべて単一の をOnClickListener使用しているため、ビューのリリースを妨げていますか?ContextActivity

4

0 に答える 0