清除滑动图像缓存 Android Studio

Posted

技术标签:

【中文标题】清除滑动图像缓存 Android Studio【英文标题】:Clear glide image cache Android Studio 【发布时间】:2021-11-18 18:15:01 【问题描述】:

请帮助我知道是否有任何方法可以清除此滑块对象的图像缓存,我必须每天更新图像,使用相同的链接,但glide 正在缓存图像,

我之前使用过glideimageViewglide 确实有一个缓存清理方法,但是对于这个对象,我无法使用它。提前致谢。

package com.xperiaplayy1.LoteriaPanamaEnVivo;
    
    import android.os.Bundle;
    import android.widget.ImageView;
    
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.recyclerview.widget.RecyclerView;
    
    import com.bumptech.glide.Glide;
    import com.bumptech.glide.load.engine.DiskCacheStrategy;
    import com.bumptech.glide.request.RequestOptions;
    import com.denzcoskun.imageslider.ImageSlider;
    import com.denzcoskun.imageslider.models.SlideModel;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    
    
    
    public class Slider extends AppCompatActivity 
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) 
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_image_slider);
            ImageSlider imageSlider = findViewById(R.id.slider);
            List<SlideModel>slideModels = new ArrayList<>();
            slideModels.add(new SlideModel("https://www.codeproject.com/KB/testing/1002904/Test-URL-Redirects-HttpWebRequest.jpg","Piramide 1"));
            slideModels.add(new SlideModel("https://shortpixel.com/img/robot_lookleft_wink_big.png","Piramide 2"));
            slideModels.add(new SlideModel("https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png","Piramide 3"));
            slideModels.add(new SlideModel("https://static.remove.bg/remove-bg-web/8fb1a6ef22fefc0b0866661b4c9b922515be4ae9/assets/start_remove-c851bdf8d3127a24e2d137a55b1b427378cd17385b01aec6e59d5d4b5f39d2ec.png","Piramide 4"));
            slideModels.add(new SlideModel("https://media.istockphoto.com/photos/colored-powder-explosion-abstract-closeup-dust-on-backdrop-colorful-picture-id1072093690?k=20&m=1072093690&s=612x612&w=0&h=Ns3WeEm1VrIHhZOmhiGY_fYKvIlbJrVADLqfxyPQVPM=","Piramide 5"));
            imageSlider.setImageList(slideModels,true);
    
        
    
    

【问题讨论】:

【参考方案1】:

我在您的代码中看不到任何与 Glide 相关的代码。

至少在我的应用程序中,我使用clearDiskCache 方法来清除 Glide 的磁盘缓存。

Glide.get(context).clearDiskCache();

【讨论】:

【参考方案2】:

为了清除 glide 的磁盘缓存,有一个clearDiskCache() 方法可以清除磁盘缓存中的所有缓存项。

它必须在后台线程上调用。

   Glide.get(context).clearDiskCache();

为了清除 glide 的内存缓存,有一个clearMemory() 方法会从内存中清除所有缓存的项目。

它必须在主线程上调用。

Glide.get(context).clearMemory();

Glide 建议不要经常使用clearMemory()

清除所有内存并不是特别有效,应尽可能避免,以避免卡顿和增加加载时间。

【讨论】:

以上是关于清除滑动图像缓存 Android Studio的主要内容,如果未能解决你的问题,请参考以下文章

Android 类似浏览器的实现,我在哪里缓存图像

android缓存机制怎样做交互更好

android 清除缓存功能如何实现

更改图像时清除 CATiledLayers 缓存

在内存中滑动缓存屏幕图像

从网格背景清除图像缓存