快捷搜索: 王者荣耀 脱发

Glide多图切换时的闪动问题优化

引:最近头儿给了个反馈,让我优化下:一个imageView上点击按钮切换展示另一张图片时会闪动一下。

首先进行了验证,提前做的预缓存图片是生效了的,因为本地图片打印已经存在了,但是首次切换时还是会闪一下白屏。针对这种从本地图加载到内存进行展示时的场景做了两点优化。

1、推进图片压缩,使用web-p或者更小尺寸图片进行图片展示,因为项目原有架构支持url转web-p-url所以直接使用了前者,其实若服务器不支持的话也可以自己做一些压缩

2、使用前一张图片做为过渡图片去除中间闪白:

val drawable = view.drawable
        val glide = Glide.with(context)
            .load(imageUrl)
            ...
            .placeholder(drawable) // 关键一句
            .into(view)

这里有一点需要注意⚠️:如果是在RecyclerView的item中使用,需要考虑view的服用问题,设置前最好先将view.drawable == null 一下

经验分享 程序员 微信小程序 职场和发展