MUImageCache发现了目前无法解决的bug,已无缝切换到SDWebImage,只需更新最新版就可以,无需额外操作。
MUImageCache的思路主要来自于[FlyImage],经过试用发现了一些问题。
FlyImage的主要问题:
1.崩溃、各种各样的崩溃
2.图片无法正常显示
3.图片数据会被后来的图片数据覆盖
4.不支持单独下载管理
5.不支持GIF
·········
优势
1.内存消耗低
2.修复FlyImage已发现的bug
3.支持FlyImage具有的优势
4.新增图片下载管理
5.支持GIF
6.支持圆角绘制,并避免调用( layer.cornerRadius;
layer.masksToBounds)
区别
[SDWebImage]图片缓存框架,采用的是数据流下载方式(下载过程中接收到数据就回调),如果同时需要下载多张图片,内存几乎会几何系数的增加。
[MUKit/MUImageCache] 图片缓存框架,采用的是文件下载方式(文件下载完成后才会进行回调),用【mmap】(虚拟内存映射)缓存图片,对内存的影响降至较低,非常适合对内存敏感的应用。
[SDWebImage]会随着图片的增多内存几乎是几何系数的增多,而MUImageCache变化则很小,每增加一张图片内存增加大约是0.02m。
使用方式
//小图标
- (void)setIconURL:(NSString*)iconURL;
- (void)setIconURL:(NSString*)iconURL placeHolderImageName:(NSString*)imageName;
//绘制圆角
- (void)setIconURL:(NSString*)iconURL placeHolderImageName:(NSString*)imageName cornerRadius:(CGFloat)cornerRadius;
//图片
- (void)setImageURL:(NSString*)url;
- (void)setImageURL:(NSString*)imageURL placeHolderImageName:(NSString*)imageName;
//绘制圆角
- (void)setImageURL:(NSString*)imageURL placeHolderImageName:(NSString*)imageName cornerRadius:(CGFloat)cornerRadius;
其它框架
MUSignal - 最简洁易用的事件处理框架
MUTableViewManager - MVVM TableView 只需一个block就可显示列表
MUNavigation 轻量 简单 易用 的导航框架