Aja*_*han 9 android image-loading android-glide
我正在使用Glide图像加载器从特定URL加载图像,现在如果我将图像更新为相同的URL,Glide仍在我的imageview中显示缓存的图像.如何从同一个URL重新加载图像?
Ram*_*mbu 16
根据 Glide维基Caching-and-Cache-Invalidation
1. ObjectKey您可以使用StringSignature混合文件的日期修改时间
文件 - 您可以使用StringSignature混合文件的日期修改时间.
网址 - 虽然使网址无效的最佳方法是确保服务器更改网址并在网址更改时更新客户端,但您也可以使用StringSignature混合任意元数据
Glide.with(requireContext())
.load(myUrl)
.signature(ObjectKey(System.currentTimeMillis().toString()))
.into(myImageView)
Run Code Online (Sandbox Code Playgroud)
如果所有其他方法都失败了,您既不能更改标识符也不能跟踪任何合理的版本元数据,
你也可以完全使用diskCacheStrategy()和禁用磁盘缓存DiskCacheStrategy.NONE
Glide.with(Activity.this).load(url).diskCacheStrategy(DiskCacheStrategy.NONE).skipMemoryCache(true).into(imageView);
参考https://github.com/bumptech/glide/wiki/Caching-and-Cache-Invalidation
使用.diskCacheStrategy(DiskCacheStrategy.NONE)
Glide.with(context)
.load(url)
.apply(new RequestOptions()
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true))
.into(ImageView);
Run Code Online (Sandbox Code Playgroud)
添加
签名(新对象键(String.valueOf(System.currentTimeMillis())))
RequestOptions requestOptions = new RequestOptions();
requestOptions.placeholder(R.drawable.cover_placeholder);
requestOptions.error(R.drawable.no_image_available);
requestOptions.signature(
new ObjectKey(String.valueOf(System.currentTimeMillis())));
Glide.with(MosaicFragment.this)
.setDefaultRequestOptions(requestOptions)
.load(finalPathOrUrl)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7366 次 |
| 最近记录: |