私は自分のアプリ用に Web からダウンロードした画像をキャッシュする最も効率的な方法を構築しようとしています。数年前にこれを実行しようとしましたが、見つかった lazylist アダプターに出くわすまで、これを機能させる効率的な方法を見つけることができませんでした。ここ:
これは Android 4.0 が導入されるまではうまく機能していましたが、この時点でアプリは 10 ~ 20 個の画像を読み込んだ後にクラッシュしました。以前は、問題なく好きなだけ簡単に読み込むことができたのとは対照的でした。これは後でわかった結果ですGingerbread 2.3 以前には存在しなかったアプリごとのメモリ使用量に制限が設定されているアイス クリーム サンドイッチについて、クラッシュを避けるために 10 枚程度の画像ごとにキャッシュをクリアすることにしましたが、ユーザー エクスペリエンスはあまり良くありませんでした。これを行った結果、すでに表示されている画像を何度も何度も再ダウンロードしていたため、アプリは大量のデータを使用しました。それ以来、lru キャッシュを使用しようとしましたが、特に私がアプリを終了して再起動すると、画像がすべて解放されたようです。これを行うためのより良い方法が必要であり、Instagram などの他のアプリが数百メガバイトの画像をキャッシュする方法を見つけたように見えることに気付きました。コンテンツを決して排出しないように見える無限サイズのキャッシュを保存できるようにするために、この種のキャッシュを構築する方法を知っている人はいますか?