本文共 2332 字,大约阅读时间需要 7 分钟。
"加载GIF图"- (void)loadGIF{ NSURL *URL; // 加载网络gif图 URL = [NSURL URLWithString:@"http://photo.l99.com/source/11/1330351552722_cxn26e.gif"]; // 加载本地gif图// URL = [[NSBundle mainBundle] URLForResource:@"money.gif" withExtension:nil]; [self.imgView sd_setImageWithURL:URL];}
"监听图片下载进度"- (void)loadProgress{ NSURL *URL = [NSURL URLWithString:@"http://img3.duitang.com/uploads/item/201608/18/20160818212406_XVw4K.jpeg"]; [self.imgView sd_setImageWithURL:URL placeholderImage:nil options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) { // receivedSize : 接收的图片大小 // expectedSize : 图片的总大小 float progress = (float)receivedSize / expectedSize; NSLog(@"%zd %zd %f",receivedSize,expectedSize,progress); } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { NSLog(@"图片下载完成 %@",image); }];}
"Manager下载图片"- (void)LoadImageWithManager{ NSURL *URL = [NSURL URLWithString:@"http://img3.duitang.com/uploads/item/201608/18/20160818212406_XVw4K.jpeg"]; [[SDWebImageManager sharedManager] downloadImageWithURL:URL options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) { // receivedSize : 接收的图片大小 // expectedSize : 图片的总大小 float progress = (float)receivedSize / expectedSize; NSLog(@"%zd %zd %f",receivedSize,expectedSize,progress); } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) { self.imgView.image = image; }];}
1.图片文件缓存的时间有多长:1周
_maxCacheAge = kDefaultCacheMaxCacheAge
2.SDWebImage 的内存缓存是用什么实现的?
NSCache
3.SDWebImage 的最大并发数是多少?
maxConcurrentDownloads = 6
4.SDWebImage 支持动图吗?GIF
#import[UIImage animatedImageWithImages:images duration:duration];
根据图像数据第一个字节来判断的!PNG:0x89JPG:0xFFGIF:0x47
-6.SDWebImage 缓存图片的名称是怎么确定的!
md5 如果单纯使用 文件名保存,重名的几率很高! 使用 MD5 的散列函数!对完整的 URL 进行 md5,结果是一个 32 个字符长度的字符串!
7.SDWebImage 的内存警告是如何处理的!
利用通知中心观察
转载地址:http://jfkii.baihongyu.com/