Android アプリケーションにキャッシュ メカニズムを実装しようとしています。
SoftReference
私が見つけた多くの例のように、私は を使用します。問題は、 で上下にスクロールするListView
と、ほとんどの画像がすでにクリアされていることです。アプリケーションが新しい画像をロードするたびに、アプリケーションがガベージ コレクションされていることを LogCat で確認できます。これは、目に見えない画像のほとんどListView
がなくなったことを意味します。
そのため、スクロールして前の位置 (以前に実際に画像をダウンロードした場所) に戻るたびに、画像をもう一度ダウンロードする必要があります。画像はキャッシュされていません 。
私もこのトピックについて調査しました。この記事の Mark Murphy によると、 にはバグがある (またはあった?) ようですSoftReference
。他のいくつかの結果は、同じこと (または同じ結果) を示しています。SoftReference
s がクリアされるのが早すぎます。
実用的な解決策はありますか?