2017-02-13 13 views
0

私がマスターをきれいにするには、グライド・ロード・イメージに私のアプリからのキャッシュディレクトリを変更したいcache.iを拭くために失敗した私のGlideModuleに変更グライド・ロード・画像キャッシュディレクトリ

builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, "abbasali", cacheSize100MegaBytes * 5)); 

を使用しますがしかし、それは何の効果も行いません。

+0

を使用してDiskCacheからロードする画像のサンプルコードですか?つまり、あなたのsetDiskCacheへの呼び出しは呼び出されますか? – yosriz

+0

が今の私のイメージのキャッシュが/データ/ myPakacgeName/chache/abbasaliアンドロイドである/ –

+0

グライドは、新しいものに優先して、既存のキャッシュを使用します。したがって、この変更の前に既にアプリを実行している場合は、内部キャッシュが使用されます。内部キャッシュを削除するには、Androidアプリの[設定]メニューからアプリキャッシュ設定をクリアするだけです。 –

答えて

1

Glideを設計することにより、キャッシュへのアクセスを直接サポートしていません。 Cacheは、あなたがそれについて知っている必要はありません。つまり、透明ストレージです。またGlideでキャッシングがキーとしてだけurlよりもはるかに細かい粒度です。

だから、解決策は、通常はロードすることで、それはそれがありますならば、キャッシュからロードされたそれ以外の場合は、ダウンロードしてからロードされます。キャッシュされる内容の詳細については、.diskCacheStrategy()を参照してください。

Glide.with(context) 
.load(image_url) 
.diskCacheStrategy(DiskCacheStrategy.ALL) 
.into(imageView); 

あなたが​​を使用している場合は、オフラインでそれを必要とするとき(ALLに含まれる)元の画像は、電話、おそらく利用可能に格納されます。キャッシュは常にnetworkに行く前に相談されます。ここ

はGlideModuleが適切に設定さず、初期化されてしまったGlide

https://groups.google.com/forum/#!topic/glidelibrary/TcFOy0tcxXA

関連する問題