使用Glide加载图片,默认情况下在内存中缓存该图片。这样的情况下如果我们保存头像在某个路径,当再次更换头像时可能由于缓存问题,UI上更新的不及时。
默认加载图片方式:
Glide.with(context).load(coverPath).error(R.drawable.album1).placeholder(imageView.getDrawable()).into(imageView);
如果我们希望当图片路径不变,图片改变时能够及时刷新有如下方法调用
1、不使用缓存 (该方法不推荐,如果调用方法n次会闪烁n次,不友好)
Glide.with(DemoActivity.this)
.load(coverPath))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(mImage);
2、使用签名 (推荐使用)
Glide.with(BaseActivity.this).load(cover).error(R.drawable.album1).dontAnimate().signature(new StringSignature(AlbumUtil.getLastModified(cover))). placeholder(circleAlbumImage.getDrawable()).into(circleAlbumImage);
签名代码:
public static String getLastModified(String path){ String lastModified = ""; if (!TextUtils.isEmpty(path)){ File file = new File(path); if (file.exists()){ lastModified = String.valueOf(file.lastModified()); } } return lastModified; }