图像文件从服务器下载并始终保存为相同的文件名。
所以在早期版本的滑行中,我已经过测试
Uri uri = Uri.fromFile(new File(downloadPath));
GlideApp.with(this)
.load(uri)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(mDownloadImageView);
当图像更改时,它似乎适用于具有相同名称的文件。官方文件Glide Caching如上所述。
但是现在在Glide 4.4.0中,我再次使用了这段代码而且它无效。我需要添加如下签名:
Uri uri = Uri.fromFile(new File(downloadPath));
GlideApp.with(this)
.load(uri)
.signature(new ObjectKey(System.currentTimeMillis()))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(mDownloadImageView);
添加签名密钥后,它就可以了。
有没有人遇到过同样的情况? DiskcacheStrategy无,并且跳过内存缓存为真,对我没有任何影响。
答案 0 :(得分:0)
是的,我有同样的问题。 我必须使用签名,diskCacheStrategy()设置为NONE,skipMemoryCache()设置为true,如果我想每次刷新图像。
另一个问题是,如果我将diskCacheStrategy()设置为ALL并带有一些签名(为了在某些情况下强制缓存刷新) - 它无效。签名每次都在变化,但Glide总是从缓存加载图像而不想刷新它。
它在Glide v3上运行良好,升级到v4后停止正常工作。
答案 1 :(得分:0)
您现在必须使用RequestOptions
。
Glide.with(this).load(imageResource)
.apply(RequestOptions()
.placeholder(R.drawable.ic_no_profile_image)
.centerCrop()
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.dontAnimate())
.into(profileImageView)