Android RecyclerView 使用Glide 加载图片时刷新数据图片闪烁
使用recyclerView.adapter.notifyDataSetChanged() 方法刷新已有数据导致图片闪烁
原Glide 加载代码
val requestOptions = RequestOptions().centerCrop()
.format(DecodeFormat.PREFER_RGB_565)
.priority(Priority.LOW)
.skipMemoryCache(false)
.dontAnimate()
.transform(RoundedCornersTransformation(
radius,
0,
RoundedCornersTransformation.CornerType.TOP
))
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
Glide.with(context)
.asBitmap()
.load(url)
.apply(requestOptions)
.into(imageView)
解决方法:
val requestOptions = RequestOptions().centerCrop()
.format(DecodeFormat.PREFER_RGB_565)
.priority(Priority.LOW)
.skipMemoryCache(false)
.dontAnimate()
.transform(RoundedCornersTransformation(
radius,
0,
RoundedCornersTransformation.CornerType.TOP
))
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
Glide.with(context.get()!!.applicationContext)
.asBitmap()
.load(url)
.apply(requestOptions)
.into(object :com.bumptech.glide.request.target.SimpleTarget<Bitmap>(){
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
imageView.setImageBitmap(resource)
}
})