Glide加载图片不更新问题

问题:在一个项目中使用了Glide加载本地图片,比如这里我选择保存的图片是:

 //保存图片的地址
    private String imgSave = "/" + Environment.getExternalStorageDirectory().getPath()
            + "/fitness/" + "addpublic.png";

然后我加载这张图片,ok成功了,之后我改变这张图片的内容,但是还是原来的地址,由于glide的缓存机制,相同地址的内容没有更新。

Glide的缓存机制分为两级,第一级是内存缓存,然后第二级是硬盘缓存。缓存的过程首先是在内存中缓存,然后将加载的图片资源缓存到硬盘,这样就可以在随后的再次加载中使用缓存了,Glide使用缓存时候首先要检查内存这一层级是否缓存了相应的缓存,如果有,则直接使用,如果没有,则深入到硬盘缓存中检查是否有,如果有,则加载之,如果到这一步骤还没有,那么就只能作为一个全新的资源加载了。

即Glide先从内存缓存中查找,再从硬盘缓存中查找,只有这两个其中一个有缓存,都不会重新去本地再次获取。

解决方案:

 Glide.with(AddComActivity.this)
                    .load(imgSave)
                    .skipMemoryCache(true)//跳过内存缓存
                    .diskCacheStrategy(DiskCacheStrategy.NONE)//不要在disk硬盘缓存
                    .into(imgAddCom);

加载图片的时候,添加了2行,跳过内存缓存和不在硬盘缓存,让他重新去本地获取图片~这样就阔以啦~。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值