私はユニバーサル画像ローダーを使用して、アプリケーション内の画像をlistviewsで表示しています。私はUnlimitedDiscCache
を使用しています。これは、ドキュメントによると、最も速いキャッシュメカニズムです。 )の場合、ディスクキャッシュをクリアしたいのですが、指定された制限を超える最も古いキャッシュファイルのみを削除する必要があります(のように)。ユニバーサル画像ローダー - 手動でキャッシュをクリアする
私はImageLoader.clearDiscCache()
の承知していますが、私はUnlimitedDiscCache
...前を使用していますので、私の場合には、これはだから私は、ユーザーがリストビューをロードし、スクロールされたときに最速のキャッシュメカニズムを持っていると思い、完全なキャッシュをクリアしますユーザーがもはやアプリケーションとやりとりしていないときに、遅いキャッシュを消去します。
どのように私はこれを達成することができますか?あなたもしたい場合
MemoryCacheUtils.removeFromCache(imageUri, ImageLoader.getInstance().getMemoryCache());
:
'onStop()'が呼び出されたときにアプリケーションが停止することは保証できません。それは、現在の活動が停止されていることだけを示しています。パフォーマンスの低下は、別のキャッシュメカニズムを実装するのに費やされた時間と比較すると、非常に最小限に抑えられます(アプリケーションの処理速度が遅くなる可能性があります)。 –
@jeff_bordon ImageLoaderインスタンスを構築するためのコードがありますか? @Androidyはい、アプリケーションが終了しようとしているときに区別できます。たとえば、if(isFinishing()){do something} ' –
@jeff_bordon BoBを持つことができます。ここのソースを参照してくださいhttps://github.com/nostra13/Android-Universal-Image-Loader/blob/master/library/src/com/nostra13/universalimageloader/cache/disc/impl/LimitedAgeDiscCache.java Writing UnlimitedAgeDiskCache willかなりストレートです。あなたが知る必要があるのは、今と今の違いです。私はそれが少しの問題の場合ListViewsの速度を低下させないと思う。 –