【发布时间】:2019-03-24 23:55:03
【问题描述】:
我实现了 Glide 库以在 ImageView 中加载图像,它工作正常。
依赖:
compile "com.github.bumptech.glide:glide:4.5.0"
annotationProcessor "com.github.bumptech.glide:compiler:4.5.0"
compile "jp.co.cyberagent.android.gpuimage:gpuimage-library:1.3.0"
在适配器中:
Glide.with(context)
.load(ImageUrl)
.apply(bitmapTransform(new jp.wasabeef.glide.transformations.BlurTransformation(25)
).diskCacheStrategy(DiskCacheStrategy.ALL))
.apply(new RequestOptions()
.placeholder(R.mipmap.ic_launcher))
.into(view);
问题是,当我上传图像并在 recyclerview 中显示并从 API 获取 URL 时,它会显示以前从缓存中添加的图像而不是新图像。我只需要在第一个位置添加新图像,而不是刷新整个列表。
通过使用这个:
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
上面的代码刷新整个列表,因为清除了整个缓存数据。我只需要在列表中显示新上传的图片。
【问题讨论】:
-
如何通过添加 url 或仅您注册的位图加载到图像?请分享您的适配器
-
我不认为您可以检查特定的 url 天气内容是否已更改。所以解决方案可以是每次上传图片时都使用唯一的url。
-
另一种解决方案是图片资源的用户元数据。您必须使用 Glide 的
.signature()功能。 this 可能会有所帮助。 @ADM 提到的简单解决方案,每次上传图片时生成新的 url。
标签: android android-imageview android-glide