, View 不断加载新的动图, 会直接释放已解码的帧, 重新解码新图片的每一帧, 导致 CPU 负载过高, 在图文流中快速滑动或者来回滑动很容易崩溃.
2.4 SDWebImage 各版本的使用简介...使用这套方案加载动图有如下三个问题:
当且仅当所有帧图片都加载完毕时,才能够显示, 特别是在做异步解码的时候, 会导致动图首帧加载时长较长.
不同帧的展示时长一样,使得动图失真....基于上述的问题, 应该将逐帧加载思路应用到端内, 在动图加载到内存时, 只从二进制数据中解码第一帧; 然后在 CADisplayLink 触发时解析当前需要展示的帧, 同时合理地使用帧缓存, 避免上述...图片一般是内存消耗的大户, 因此可以在图片解码失败时, 主动尝试释放图片内存缓存, 正在使用的图片不会被释放, 未被使用的图片先释放掉以腾出内存, 从而规避内存不足造成崩溃.
4.4 其他优化措施
4.4.1...在内存不足导致解码失败时主动释放 SDImageCache 的 memoryCache, 避免其他业务申请不到内存导致崩溃.
设置开启图片下采样, 以合理使用内存.