功能:帮我们专门处理网络图片处理框架
下载地址:https://github.com/rs/SDWebImage
1设置图片
//包含了多种功能 1,sd_setImageWithURL获取网络图片 2,placeholderImage占位图片 3,progress 下载进度 用法: NSLog(@"下载进步:%f",(double)receivedSize / expectedSize); 4, *image *error *imageURL分别完成后返回的图片,错误和下载地址 5,SDImageCacheType cacheType 是枚举类型,图片存储位置在内存、磁盘或无 6,SDWebImageOptions 枚举类型 用法:SDWebImageOptions options = SDWebImageRetryFailed | SDWebImageLowPriority SDWebImageRetryFailed 下载失败重复下载 常用 SDWebImageLowPriority 当UI交互的时候暂停下载 常用 SDWebImageCacheMemoryOnly 只存图片在内存 SDWebImageProgressiveDownload 可以像浏览器那样从上往下下载刷新图片 SDWebImageRefreshCached 刷新缓存 SDWebImageHighPriority 高优先级 SDWebImageDelayPlaceholder 不加载占位图 [cell.imageView sd_setImageWithURL:(NSURL *) placeholderImage:(UIImage *) options:(SDWebImageOptions) progress:^(NSInteger receivedSize, NSInteger expectedSize) { <#code#> } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { <#code#> }];
2内存处理
因为SDWebImgae是属于整个项目,不是属于某个控制器,所以不要在控制器里的didReceiveMemoryWarning处理内存问题,而且在AppDelegate.m添加applicationDidReceiveMemoryWarning方法
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { SDWebImageManager *mrg = [SDWebImageManager sharedManager]; //1,取消下砸操作 [mrg cancelAll]; //2,清除内存缓存 [mrg.imageCache clearMemory]; }
3其他功能
1,设置定期清理缓存时间
//设置100天,默认是7天 [SDWebImageManager sharedManager].imageCache.maxCacheAge = 100 * 24 * 60 * 60
2,设置最大缓存容量
//无默认值,单位目前不清楚 [SDWebImageManager sharedManager].imageCache.maxCacheSize = ;
时间: 2024-10-08 06:25:23