先描述下现象,load的URL没有改变,但是服务器上图片的内容改变了,Glide清理了缓存但是图片没有更新。
解决办法就是给图片加上signature的标识
Glide.with(context.getApplicationContext())
.load(imageurl)
.signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.placeholder(R.drawable.placeholder)
.into(imageItem);
当前用户登录的时候就在sharedprefence里存储用户的信息,头像的URL ,再添加一项就是当前系统时间
例如:
myUser.setModifyTime(String.valueOf(System.currentTimeMillis())); 当用户修改了头像的时候 在shareP里更新时间。然后通过https://github.com/bumptech/glide/issues/1117实现头像的刷新。.signature(new StringSignature(myUser.getModifyTime))
https://github.com/bumptech/glide/issues/624