1.IOS著名的牛逼网络图片处理框架
2.包含的功能:图片下载,图片缓存,下载进度监听,gif处理等等
3.用法极其简单,功能十分强大,大大提高了网络图片处理的效率
4.国内超过90%的ios项目都有她的影子
SDWebImage常见面试题
1.问题: 1> 图片文件缓存的时间有多长
答案: 一周
2.SDWebImage的内存缓存是用什么实现的
答案: NSCache
3.SDWebImage的最大并发数是多少
答案:6
4.SBWebImage 支持动图嘛??
答案:GIF
5.SDWebImage是如何区别不同格式的图像
答案:根据图像数据第一个字节来判断
PNG: 压缩比没有JPG高,但是无损压缩,解压性能高,苹果推荐的图像格式
CIF 序列帧动画,特点.只支持256中颜色,是最流行的时候载1998-1999 有专利的
6 SDWebImage 缓存图片的名称是怎么确定的
md5 在终端输入md5 -s 输入你的图片地址,即可寻找
如果单纯使用 文件名保存, 重名几率高
使用MD5的散列函数,对完整的URL进行MD5,结果是一个32个字符长度的字符串
7. SBWebimage的内存警告是如何处理的
利用通知中心观察
简单实用
导入两个头文件
#import "UIImageView+WebCache.h"
#import "UIImage+GIF.h"
NSString *imgAddr = @"http://attach.bbs.miui.com/forum/201502/04/172701miz0kccvu4gu0vi4.jpg";
//参数1:图片的下载地址
//参数2:占位图片
//参数3:可选项 包括黑名单,优先级,缓存等等
//参数4:进度
//参数5:完成时候执行的block(回调)
[self.imageview sd_setImageWithURL:[NSURL URLWithString:imgAddr] placeholderImage:nil options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
// NSLog(@"receivedSize %tu expectedSize %tu ",receivedSize,expectedSize);
NSLog(@"%ld",receivedSize *100/expectedSize);
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
}];
//参数1:图片的下载地址
//参数2:占位图片
//参数3:可选项 包括黑名单,优先级,缓存等等
//参数4:进度
//参数5:完成时候执行的block(回调)
[self.imageview sd_setImageWithURL:[NSURL URLWithString:imgAddr] placeholderImage:nil options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
// NSLog(@"receivedSize %tu expectedSize %tu ",receivedSize,expectedSize);
NSLog(@"%ld",receivedSize *100/expectedSize);
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
}];
}
处理一下动画的图片
self.imageview.image = [UIImage sd_animatedGIFNamed:@"sb"];
在网络加载图片的时候对图片的新处理
#import "UIImageView+WebCache.h"
NSURL *url = [NSURL URLWithString:model.icon];
[cell.iconImage sd_setImageWithURL:url];