其他分享
首页 > 其他分享> > android – 当notifydatasetchanged时,为什么Glide会使项目ImageView闪烁

android – 当notifydatasetchanged时,为什么Glide会使项目ImageView闪烁

作者:互联网

我在使用RecyclerView时使用Glide 3.7.0.刷新时项目视图始终闪烁(调用notifyDataSetChanged).

这是我的代码:

Glide
  .with(context)
  .load(filepath)
  .diskCacheStrategy(DiskCacheStrategy.NONE)
  .skipMemoryCache(true)
  .dontAnimate()
  .into(imageview);

当我不使用缓存时,当调用notifyDataSetChanged方法并且Glide尚未完成加载位图时,ImageView具有空位图.

如果我使用以下代码:

Glide
  .with(context)
  .load(filepath)
  .dontAnimate()
  .into(imageview);

然后项目ImageView不再闪烁(使用缓存).

我想动态更新项目视图,因此我禁用了滑动缓存.

有没有解决这个眨眼错误的解决方案?

非常感谢你!

解决方法:

经过多次尝试,只需使用SimpleTarget解决了我的问题
谢谢!

Glide
.with(context)
.load(filepath)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.dontAnimate()
.into(new SimpleTarget<Bitmap>() {

            @Override
            public void onResourceReady(Bitmap arg0, GlideAnimation<? super Bitmap> arg1) {
                // TODO Auto-generated method stub
                holder.mItemView.setImageBitmap(arg0);
            }
        });

标签:notifydatasetchanged,blink,android-glide,android,android-recyclerview
来源: https://codeday.me/bug/20190930/1835945.html