iOS第三方学习1-SDWebImage学习和使用

iOS第三方学习1-SDWebImage学习和使用




在项目的开发过程中,经常会用到异步加载图片的功能,先从网络上异步下载图片,然后通过UIImageView显示在屏幕上。这个功能基本上所有的联网应用程序都要使用。
SDWebImage 提供异步加载图片、缓存管理、下载进度等功能

SDWebImage有两种缓存,一种是磁盘缓存,一种是内存缓存,框架都提供了相应的方法

1. [UIImageView  sd_setImageWithURL: placeholderImage: options: completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {}];

先显示 placeholderImage ,同时由SDWebImageManager 根据 URL 来查找图片。
SDWebImageManager是将UIImageView+WebCache同SDImageCache链接起来的类
SDWebImageManager  调用downloadImageWithURL:options: progress: completed:
SDImageCache  queryDiskCacheForKey: done:
用来从缓存根据CacheKey查找图片是否已经在缓存中
2.如果从内存中找到了图片,就返回并显示图片;如果没找到,就在硬盘下查找图片
3.如果在硬盘中找到了图片,就返回并显示图片;如果没找到,说明所有缓存都不存在该图片,需要下载该图片
4.SDWebImageDownloader
downloadImageWithURL: options: progress: completed:
5.下载完成后返回并显示图片
图片保存到 SDImageCache 中,内存缓存和硬盘缓存同时保存。


缓存的清理

                        [[[SDWebImageManager sharedManager]imageCache]cleanDisk];
                        
                        [[[SDWebImageManager sharedManager]imageCache]clearMemory];
                        
                        [[NSURLCache sharedURLCache] removeAllCachedResponses];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值