我已经使用Glide库将图像加载到ImageView中,它的效果很好。
依赖项:
问题在于当我上传图片并在recyclerview中显示,并从API获取URL时,它会显示缓存中先前添加的图像而不是新的图像。我只需要将新的图像添加到第一个位置,而不是刷新整个列表。
使用以下方法:
上述代码会刷新整个列表,因为它清除了所有缓存数据。我只需要在列表中显示新上传的图片。
依赖项:
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)
上述代码会刷新整个列表,因为它清除了所有缓存数据。我只需要在列表中显示新上传的图片。
.signature()
函数。这个可能会有所帮助。简单的解决方案如@ADM所述,每次上传图像时生成新的URL。 - user2756345