Glide加载网络图片,服务器内容更新但是Glide缓存无法清理的解决办法

最近发现一个问题,内容运营在修改图片的后,glide没有更换图片,查到是因为图片地址没有改变,导致glide认为是图片没有修改,查到了所转载的文章,但是此方法是手机端设置的,明显这种情况解决不了,还是记录一下,让运营在修改图片的时候地址不要和上一次相同即可
转载原文章地址



先描述下现象,load的URL没有改变,但是服务器上图片的内容改变了,Glide清理了缓存但是图片没有更新。

解决办法就是给图片加上signature的标识


  
  
  1. Glide.with(context.getApplicationContext())
  2. .load(imageurl)
  3. .signature( new StringSignature(String.valueOf(System.currentTimeMillis())))
  4. .diskCacheStrategy(DiskCacheStrategy.SOURCE)
  5. .placeholder(R.drawable.placeholder)
  6. .into(imageItem);

当前用户登录的时候就在sharedprefence里存储用户的信息,头像的URL ,再添加一项就是当前系统时间

例如:

myUser.setModifyTime(String.valueOf(System.currentTimeMillis())); 
当用户修改了头像的时候 在shareP里更新时间。然后通过
.signature(new StringSignature(myUser.getModifyTime))
  
  
实现头像的刷新。
https://github.com/bumptech/glide/issues/1117

https://github.com/bumptech/glide/issues/624

扫描二维码关注公众号,回复: 3815821 查看本文章


猜你喜欢

转载自blog.csdn.net/shuijianbaozi/article/details/81260603