SDWebImage的基本使用

Posted apologize的ios学习足迹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SDWebImage的基本使用相关的知识,希望对你有一定的参考价值。

对于基本使用,先导入

#import "UIImageView+WebCache.h"

①先加载默认图片,再从后台下载来替代

UIImage *defaultImg = [UIImage imageNamed:@"defaultimage"];
NSString *urlStr = @"http://n.sinaimg.cn/edu/transform/20160505/pe7k-fxryhhu2274915.png";
[imgView sd_setImageWithURL:[NSURL URLWithString:urlStr] placeholderImage:defaultImg];

②SDWebImage默认是有缓存的。缓存时间是1周

static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week

查找url对应的图片缓存可以用,key为对应的url

UIImage *defaultImg = [UIImage imageNamed:@"defaultimage"];
NSString *urlStr = @"http://n.sinaimg.cn/edu/transform/20160505/pe7k-fxryhhu2274915.png";
//查找对应的图片缓存,key为url
UIImage *originalImg = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:urlStr];
if (originalImg) {
    imgView.image = originalImg;
} else {
    [imgView sd_setImageWithURL:[NSURL URLWithString:urlStr] placeholderImage:defaultImg];
}

③获取所有图片缓存,并清除

//获取缓存,getSize直接获取
-(void)findAllImageCache{
    NSUInteger imgSize = [[SDImageCache sharedImageCache] getSize];
    NSString * currentVolum = [NSString stringWithFormat:@"%@",[self fileSizeWithInterge:imgSize]];
    NSString *msg = [NSString stringWithFormat:@"缓存为%@",currentVolum];
}
// 转换大小
- (NSString *)fileSizeWithInterge:(NSInteger)size{
    // 1k = 1024b, 1m = 1024k
    if (size < 1024) {// 小于1k
        return [NSString stringWithFormat:@"%ldB",(long)size];
    }else if (size < 1024 * 1024){// 小于1m
        CGFloat aFloat = size/1024;
        return [NSString stringWithFormat:@"%.0fK",aFloat];
    }else if (size < 1024 * 1024 * 1024){// 小于1G
        CGFloat aFloat = size/(1024 * 1024);
        return [NSString stringWithFormat:@"%.1fM",aFloat];
    }else{
        CGFloat aFloat = size/(1024*1024*1024);
        return [NSString stringWithFormat:@"%.1fG",aFloat];
    }
}
//清除缓存
[[SDImageCache sharedImageCache] clearDisk];

 

以上是关于SDWebImage的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

SDWebImage的基本使用

SDWebImage使用,图片加载和缓存

崩溃:使用SDWebImage更新UIImageView

iOS开发SDWebImage的基本使用

SDWebImage图片二级缓存异步加载基本原理

SDWebImage源码阅读SDWebImageDownloaderOperation