公司的项目有个首页加载一张2M左右的git图,刚做的时候是使用的SDWebImage里面的方法:
+ (UIImage *)sd_animatedGIFNamed:(NSString *)name;
+ (UIImage *)sd_animatedGIFWithData:(NSData *)data;
使用之后发现这个方法会使内存迅速上增300M,在网上找了一些方法:
//在didReceiveMemoryWarning方法中释放SDImage的缓存即可!
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
[[SDWebImageManagersharedManager]cancelAll];
[[SDImageCachesharedImageCache]clearDisk];
}
但是使用之后发现效果并不明显,于是使用了这个FLAnimatedImage
FLAnimatedImage 是 iOS 的一个渲染 Gif 动画的引擎。
功能:
- 可同时播放多个 Gif
动画,速度媲美桌面浏览器
- 可变帧延迟
- 内存占用小
- 可在第一次循环播放时消除或者阻止延迟
- 动画的帧延迟解析性能媲美浏览器
示例代码:
|
效果图:
时间: 2024-08-26 05:03:25