美文网首页
Android Glide更新替换图片时 闪烁 闪白

Android Glide更新替换图片时 闪烁 闪白

作者: 因为我的心 | 来源:发表于2022-04-09 22:16 被阅读0次

一、前言:

项目中有对某View上图片定时刷新的机制,业务上很简单,图片来了显示在UI上。
然而实际更新图像时,现象上看会把之前的清掉然后再绘上新的,这个过程中闪动很明显。
之所以会闪白是因为没设View的background或placeholder,但如果有background且没有placeholder,则闪现的就是这个background,Glide有设placeholder,则闪现这个placeholder,在我的场景中这个体验很不好。

1、问题代码

Glide.with(mContext).load(filepath)
.centerInside()
.placeholder(R.drawable.image)
.error(R.drawable.image)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(iv);

2、解决,把之前的图像作为placeholder,这句.placeholder(iv.getDrawable())

Glide.with(mContext).load(filepath)
.centerInside()
.placeholder(iv.getDrawable())
.error(R.drawable.image)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(iv);

注意:同时recycleView设置取消动画: 刷新item的时候发现Glide加载的图片会闪一下,解决方法,去掉recycleview的加载动画。

/* * 关闭默认局部刷新动画 ,this代表recycleview*/
public void closeDefaultAnimator() {
     this.getItemAnimator().setAddDuration(0);
    this.getItemAnimator().setChangeDuration(0);
    this.getItemAnimator().setMoveDuration(0);
    this.getItemAnimator().setRemoveDuration(0);
    ((SimpleItemAnimator) this.getItemAnimator()).setSupportsChangeAnimations(false);
}

相关文章

网友评论

      本文标题:Android Glide更新替换图片时 闪烁 闪白

      本文链接:https://www.haomeiwen.com/subject/eyrmsrtx.html