获取每一帧的处理略复杂, 先按照每一帧 100ms 吧 imageView.animationDuration = 0.1 * count; // 6....使用这套方案加载动图有如下三个问题:
当且仅当所有帧图片都加载完毕时,才能够显示, 特别是在做异步解码的时候, 会导致动图首帧加载时长较长.
不同帧的展示时长一样,使得动图失真....基于上述的问题, 应该将逐帧加载思路应用到端内, 在动图加载到内存时, 只从二进制数据中解码第一帧; 然后在 CADisplayLink 触发时解析当前需要展示的帧, 同时合理地使用帧缓存, 避免上述...但即使这样, 不断加载动图时, 低端机上依旧有性能问题....使用 NSCache 代替 NSDictionary 做帧缓存, 避免系统压缩内存时带来额外 CPU 消耗, 并由系统自动释放帧缓存.