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

先描述下现象,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里更新时间。然后通过
.signature(new StringSignature(myUser.getModifyTime))
实现头像的刷新。
https://github.com/bumptech/glide/issues/1117

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

你可能感兴趣的:(android)