列表滚动期间的图片加载如何避免解码与回收形成周期性卡顿
简答题困难424 次浏览
参考答案与解析
# 核心结论
列表滚动时的图片周期性卡顿,通常是并发下载、图片解码、尺寸转换、纹理上传、布局变化、缓存膨胀和集中回收共同形成的周期。解决重点是按实际显示尺寸请求图片,预先确定占位尺寸,限制下载与解码并发,按视口距离和滚动方向设置优先级,并取消远离视口的任务。同时要按解码后字节数控制内存缓存,避免缓存持续增长后由垃圾回收或系统内存压力一次性清理。
# 底层机制
压缩文件大小不能代表图片进入内存后的占用。普通位图的内存大致由像素宽度、像素高度和每像素字节数决定,例如采用四字节颜色格式时,一张四千乘三千像素的图片解码后约占四十八兆字节,而磁盘文件可能只有几百千字节。图片显示前还可能经历格式解析、缩放、颜色空间转换、纹理上传和
