SDWebImage

1.清除缓存

clearDisk 直接清除所有缓存

[[SDWebImageManager sharedManager].imageCache clearDisk];

cleanDisk 先清除过期的缓存,过期期限为7天 如果当前的缓存超过设置的最大缓存,继续按时间顺序删除创建时间比较长的缓存

[[SDWebImageManager sharedManager].imageCache cleanDisk];

2.取消当前所有操作

[[SDWebImageManager sharedManager] cancelAll];

3.最大并发数 6

4.缓存文件保存的命名:原始图片路径经过md5加密后存在cache目录下

5.框架对内存警告的处理方式:内部通过监听的方式清理缓存

6.框架对缓存的处理方式:可变字典 -> NSCache

7.框架如何判断图片类型,取图片二进制数据的第一个字节做判断

8.队列中任务的处理方式:FIFO

9.如何下载图片?发送网络请求,使用NSURLConnection

10.请求超时的时间:15秒

一些图片下载的方法:

//下载图片且需要获得下载进度
//内存缓存&磁盘缓存
- (void)download1
{
    [self.imageView sd_setImageWithURL:[NSURL URLWithString:@"http://img2.itsogo.net/Upfile2/2013/3/3891423851158.jpg"] placeholderImage:[UIImage imageNamed:@"defaultImage"] options:SDWebImageRetryFailed progress:^(NSInteger receivedSize, NSInteger expectedSize) {
        self.label.text = [NSString stringWithFormat:@"loading... %f",1.0 * receivedSize / expectedSize];
    } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
        self.imageView.image = image;
        self.label.text = @"";

        switch (cacheType) {
            case SDImageCacheTypeNone:
                NSLog(@"图片直接下载");
                break;

            case SDImageCacheTypeDisk:
                NSLog(@"图片已存到本地");
                break;

            case SDImageCacheTypeMemory:
                NSLog(@"图片缓存倒内存");
                break;

            default:
                break;
        }
    }];
}


//只需要简单获得一张图片,不设置
//内存缓存&磁盘缓存
- (void)download2
{
    [[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:@"http://img2.itsogo.net/Upfile2/2013/3/3891423851158.jpg"] options:SDWebImageRetryFailed progress:^(NSInteger receivedSize, NSInteger expectedSize) {
        self.label.text = [NSString stringWithFormat:@"loading... %f",1.0 * receivedSize / expectedSize];
    } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
        self.imageView.image = image;
        self.label.text = @"";

        switch (cacheType) {
            case SDImageCacheTypeNone:
                NSLog(@"图片直接下载");
                break;

            case SDImageCacheTypeDisk:
                NSLog(@"图片已存到本地");
                break;

            case SDImageCacheTypeMemory:
                NSLog(@"图片缓存倒内存");
                break;

            default:
                break;
        }
    }];
}

//仅下载图片,无需缓存
//没有做任何缓存处理
- (void)download3
{
    [[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[NSURL URLWithString:@"http://img2.itsogo.net/Upfile2/2013/3/3891423851158.jpg"] options:SDWebImageDownloaderLowPriority progress:^(NSInteger receivedSize, NSInteger expectedSize) {
        self.label.text = [NSString stringWithFormat:@"loading... %f",1.0 * receivedSize / expectedSize];
    } completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {

        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
            self.imageView.image = image;
            self.label.text = @"";
        }];
    }];
}

- (void)setGifImage
{
    UIImage *image = [UIImage sd_animatedGIFNamed:@"0141f756c5cf3532f875520ff8aafd"];
    self.imageView.image = image;
}

results matching ""

    No results matching ""