Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delete cache while using glide

I know it is a very basic question. I have tried to find the numerous solution but I am not able to understand them.

What I want

upload image to the server and in return I am getting URL but the problem is while setting the image using this URL, the old image is set. This is happening because the glide is taking old cache and not updating the cache.

How to solve this.

Glide.clear(profilePic);

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

currently, the pic is changed but when I click the back button and come back to this activity then it loads an old image. Loading the image from cache like that.

//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);
    }
});

The problem is when I come back to this activity it shows old pic instead of new one.

like image 800
Ankur Khandelwal Avatar asked Jan 24 '26 16:01

Ankur Khandelwal


2 Answers

RequestOptions provides type independent options to customize loads with Glide in the latest versions of Glide.

Make a RequestOptions Object and use it when we are loading the image.

RequestOptions requestOptions = new RequestOptions()
    .diskCacheStrategy(DiskCacheStrategy.NONE) // because file name is always same
    .skipMemoryCache(true);

Glide.with(this)
    .load(photoUrl)
    .apply(requestOptions)
    .into(profile_image);
like image 106
Vinay John Avatar answered Jan 27 '26 06:01

Vinay John


Try this out

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

Replacing DiskCacheStrategy.ALL to DiskCacheStrategy.NONE

like image 33
android_griezmann Avatar answered Jan 27 '26 05:01

android_griezmann



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!