2017-02-03 6 views
0

非常に基本的な質問です。私は多数の解決策を見つけようとしましたが、私はそれらを理解することができません。グライド使用中にキャッシュを削除する

このURLを使って画像を設定している間、私は、サーバーに

アップロード画像をしたいと引き換えに、私はURLが、問題を取得しています、古いイメージが設定されています。これは、グライドが古いキャッシュを取り、キャッシュを更新していないために起こります。

これを解決する方法。

Glide.clear(profilePic); 

Glide.with(getApplicationContext()) 
    .load(url) 
    .diskCacheStrategy(DiskCacheStrategy.ALL) 
    .skipMemoryCache(true) 
    .transform(new CircleTransform(MainProfile.this)) 
    .into(profilePic); 

現在、写真は変更されていますが、戻るボタンをクリックしてこのアクティビティに戻ると、古い画像が読み込まれます。そのようなキャッシュから画像をロードする。

//setting up the profile pic 
Glide.with(getApplicationContext()) 
.load(userProfilePicUrl) 
.asBitmap() 
.centerCrop() 
.into(new BitmapImageViewTarget(profilePic) { 
    @Override 
    protected void setResource(Bitmap resource) { 
     RoundedBitmapDrawable circularBitmapDrawable = 
           RoundedBitmapDrawableFactory.create(MainProfile.this.getResources(), resource); 
     circularBitmapDrawable.setCircular(true); 

     profilePic.setImageDrawable(circularBitmapDrawable); 
    } 
}); 

問題は、私がこのアクティビティに戻ったときに新しいものの代わりに古い画像を表示することです。このソリューションはまた、より多く提供するようだしかし

Glide.get(context).clearDiskCache() 

Try reading this link as a ref

答えて

0

Glide.with(DemoActivity.this) 
.load(Uri.parse("file://" + imagePath)) 
.diskCacheStrategy(DiskCacheStrategy.NONE) 
.skipMemoryCache(true) 
.into(mImage); 

はたぶん、あなたはこれを試すことができDiskCacheStrategy.ALLDiskCacheStrategy.NONE

+0

ヘルプなし。私が戻ってきたときに古いイメージが表示されています@android_griezmann –

+0

それは私の仲間のためにうまくいっていません! –

+0

はい!私のために働いています。この場合、 –

0

を交換し、これを試してみてください。

Glide.with(Activity.this) 
.load(Uri) 
.diskCacheStrategy(DiskCacheStrategy.NONE) 
.skipMemoryCache(true) 
.into(Image); 

hereがこれまでに尋ねられたのと同様の質問です。

多少役に立ったと思っています。

乾杯

0

グライドは、古いキャッシュを無効にすることができsignature()機能を使用してcache.Byを無効にする機能を内蔵しています。

GlideApp.with(MainProfile.this) 
.load(mediaStoreUri) 
.signature(new MediaStoreSignature(mimeType, dateModified, orientation)) 
.into(view); 
関連する問題