功能:幫咱們專門處理網絡圖片處理框架
git
下載地址:https://github.com/rs/SDWebImage github
//包含了多種功能 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#> }];
由於SDWebImgae是屬於整個項目,不是屬於某個控制器,因此不要在控制器裏的didReceiveMemoryWarning處理內存問題,並且在AppDelegate.m添加applicationDidReceiveMemoryWarning方法瀏覽器
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { SDWebImageManager *mrg = [SDWebImageManager sharedManager]; //1,取消下砸操做 [mrg cancelAll]; //2,清除內存緩存 [mrg.imageCache clearMemory]; }
//設置100天,默認是7天 [SDWebImageManager sharedManager].imageCache.maxCacheAge = 100 * 24 * 60 * 60
//無默認值,單位目前不清楚 [SDWebImageManager sharedManager].imageCache.maxCacheSize = ;