SDWebImage

SDImageCache

这个库提供了一个类别UIImageView支持远程图片来自网络。它提供了:UIImageView类别添加web图像和缓存管理可可触摸框架异步图片下载器异步内存+磁盘映像缓存自动缓存过期处理GIF动画支持WebP格式支持一个背景图像解压缩保证相同的URL不会下载几次保证伪url不会一次又一次重试保证主线程不会被阻塞.

SDImageCache Class Reference

Tasks

1. shouldDecompressImages property 应该解压 图像属性

@property (assign, nonatomic) BOOL shouldDecompressImages

解压图像被下载和缓存可以提高性能,但可以消耗很多内存。默认值为YES。将这个参数设置为不如果你正在经历一个崩溃由于过度消耗内存。

2. shouldDisableiCloud property 应该禁用iCloud

@property (assign, nonatomic) BOOL shouldDisableiCloud

禁用iCloud备份(默认值为YES)

3. shouldCacheImagesInMemory property 应该在内存中缓存图像属性

@property (assign, nonatomic) BOOL shouldCacheImagesInMemory

使用内存缓存(默认值为YES)

4. maxMemoryCost property 最大内存成本属性

@property (assign, nonatomic) NSUInteger maxMemoryCost

最大的“总成本”内存图像缓存。成本函数是保存在内存的像素数量。

5. maxMemoryCountLimit property 最大内存数限制的属性

@property (assign, nonatomic) NSUInteger maxMemoryCountLimit

对象缓存应持有的最大数量。

6.maxCacheAge property 最大缓存年龄属性

@property (assign, nonatomic) NSInteger maxCacheAge

时间的最大长度保持图像缓存中,在几秒钟内

7. maxCacheSize property 最大缓存大小属性

@property (assign, nonatomic) NSUInteger maxCacheSize

缓存的最大大小,以字节为单位。

8. + sharedImageCache 共享图像缓存

+ (SDImageCache *)sharedImageCache

返回全局共享缓存实例

9. – initWithNamespace: 名称空间初始化

- (id)initWithNamespace:(NSString *)ns

初始化一个新的缓存存储与一个特定的名称空间

ns:要使用的名称空间数据缓存

10. – initWithNamespace:diskCacheDirectory: 名称空间初始化:磁盘高速缓存目录

- (id)initWithNamespace:(NSString *)ns diskCacheDirectory:(NSString *)directory

初始化一个新的缓存存储与一个特定的名称空间和目录

ns:要使用的名称空间数据缓存  directory: 目录缓存的磁盘映像

11. – makeDiskCachePath: 让磁盘高速缓存路径

- (NSString *)makeDiskCachePath:(NSString *)fullNamespace

12. – addReadOnlyCachePath: 添加只读缓存路径

- (void)addReadOnlyCachePath:(NSString *)path

添加一个只读缓存路径搜索图片,所以整个时间段SDImageCache有用如果你想包预装图片与你的应用程序

path:的路径使用只读缓存路径

13. – storeImage:forKey: 存储图片:关键:

- (void)storeImage:(UIImage *)image forKey:(NSString *)key

一个图像存储到内存和磁盘缓存在给定的关键。image:图像存储.key独特的图像缓存键,通常它的形象绝对URL.

14. – storeImage:forKey:toDisk: 存储图片:重新计算

- (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk

存储一个图像到内存中,在给定的关键选择磁盘高速缓存。

toDisk:存储到磁盘缓存如果是形象.

15. – storeImage:recalculateFromImage:imageData:forKey:toDisk: 存储图片:从图片:重新计算图像数据:关键:磁盘

- (void)storeImage:(UIImage *)image recalculateFromImage:(BOOL)recalculate imageData:(NSData *)imageData forKey:(NSString *)key toDisk:(BOOL)toDisk

存储一个图像到内存中,在给定的关键选择磁盘高速缓存。

recalculate重新计算:BOOL表示如果可以使用.

imageData:图像数据由服务器返回的,这表示将用于磁盘存储,而不是给定的图像对象转换成一个存储/压缩格式为了节省质量和CPU

key:独特的图像缓存键.通常它的形象绝对URL.

toDisk:存储到磁盘缓存如果是形象

16. – queryDiskCacheForKey:done: 查询磁盘高速缓存关键:完成

- (NSOperation *)queryDiskCacheForKey:(NSString *)key done:(SDWebImageQueryCompletedBlock)doneBlock

异步查询磁盘高速缓存。key:唯一密钥用于存储想要的图像.

17. – imageFromMemoryCacheForKey: 图像内存缓存的关键

- (UIImage *)imageFromMemoryCacheForKey:(NSString *)key

     查询内存缓存同步

18. – imageFromDiskCacheForKey:图像从磁盘缓存的关键

- (UIImage *)imageFromDiskCacheForKey:(NSString *)key

查询磁盘缓存同步后检查内存缓存。

19. – removeImageForKey:删除图像关键

 - (void)removeImageForKey:(NSString *)key

将图像从内存和磁盘缓存同步. key:独特的图像缓存键.

20.– clearDiskOnCompletion: 清除磁盘完成:

- (void)clearDiskOnCompletion:(SDWebImageNoParamsBlock)completion

清除所有磁盘缓存图像。非阻塞方法立即返回。completion:这一块应该执行缓存过期后完成(可选).

21. – removeImageForKey:withCompletion:删除图像关键:完成

- (void)removeImageForKey:(NSString *)key withCompletion:(SDWebImageNoParamsBlock)completion

将图像从异步内存和磁盘缓存

22. – removeImageForKey:fromDisk:删除图像关键:从磁盘

- (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk

将图像从内存和异步选择磁盘高速缓存.fromDisk:如果是的也从磁盘删除缓存条目.

23. – removeImageForKey:fromDisk:withCompletion:删除图像关键:从磁盘:完成

- (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk withCompletion:(SDWebImageNoParamsBlock)completion

将图像从内存和异步选择磁盘高速缓存.completion:这一块应该执行后,图像被删除(可选).

24. – clearMemory 清除所有内存缓存图像

- (void)clearMemory

25. – clearDisk 清除磁盘

- (void)clearDisk

清除所有磁盘缓存图像

26. – cleanDiskWithCompletionBlock: 清除的磁盘块完成

- (void)clearDiskOnCompletion:(SDWebImageNoParamsBlock)completion

清除所有磁盘缓存图像。非阻塞方法立即返回。

27. – getSize 计算大小

- (NSUInteger)getSize

磁盘高速缓存使用的大小

28. – getDiskCount 磁盘缓存的图片数量

- (NSUInteger)getDiskCount

29. – calculateSizeWithCompletionBlock: 计算完成块大小

- (void)calculateSizeWithCompletionBlock:(SDWebImageCalculateSizeBlock)completionBlock

异步计算磁盘高速缓存的大小。

30. – diskImageExistsWithKey:completion: 磁盘映像的存在与关键:完成

- (void)diskImageExistsWithKey:(NSString *)key completion:(SDWebImageCheckCacheCompletionBlock)completionBlock

异步检查图像是否存在于磁盘高速缓存(不加载图片)注意:完成块将总是主队列上执行

completionBlock:检查完成后执行。

31. – diskImageExistsWithKey: 磁盘映像与主要存在:

- (BOOL)diskImageExistsWithKey:(NSString *)key

检查图像是否存在于磁盘高速缓存(不加载图片),返回值是的如果图像存在给定的关键.

32. – cachePathForKey:inPath:缓存路径为关键:路径:

- (NSString *)cachePathForKey:(NSString *)key inPath:(NSString *)path

得到一定的缓存路径密钥(需要缓存路径根文件夹).path:缓存路径的根文件夹

33. – defaultCachePathForKey: 默认缓存路径为关键

- (NSString *)defaultCachePathForKey:(NSString *)key

得到某些关键的默认缓存路径,返回值默认的缓存路径;


SDWebImageDownloader

Tasks

1. shouldDecompressImages property 应该解压图像的属性

@property (assign, nonatomic) BOOL shouldDecompressImages

解压图像被下载和缓存可以提高性能,但可以消耗很多内存。默认值为YES。将这个参数设置为不如果你正在经历一个崩溃由于过度消耗内存。

2. maxConcurrentDownloads property

@property (assign, nonatomic) NSInteger maxConcurrentDownloads

3. currentDownloadCount property 当前下载数

@property (readonly, nonatomic) NSUInteger currentDownloadCount

显示当前的下载数量仍然需要下载

4. downloadTimeout property 下载超时

@property (assign, nonatomic) NSTimeInterval downloadTimeout

超时值(以秒为单位)下载操作。默认值:15.0。

5. executionOrder property

@property (assign, nonatomic) SDWebImageDownloaderExecutionOrder executionOrder

改变执行顺序下载操作。默认值是SDWebImageDownloaderFIFOExecutionOrder。

6. + sharedDownloader 共享下载器

+ (SDWebImageDownloader *)sharedDownloader

讨论:单例方法

返回:共享实例返回值全局共享下载类的实例单例方法

返回:共享实例返回值全局共享下载类的实例

7. urlCredential property  url凭据

@property (strong, nonatomic) NSURLCredential *urlCredential

设置默认URL凭证请求操作的设置。

8. username property  用户名

@property (strong, nonatomic) NSString *username

设置用户名

9. password property 密码

@property (strong, nonatomic) NSString *password

设置密码

10. headersFilter property

@property (nonatomic, copy) SDWebImageDownloaderHeadersFilterBlock headersFilter

设置过滤器来选择HTTP请求头信息下载映像。这个街区为每个下载图像请求时,将调用返回NSDictionary将被用作在相应的HTTP请求头。

11. – setValue:forHTTPHeaderField:

- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field

设置一个值一个HTTP头附加到每个HTTP请求下载。

value:头字段的值。使用零值去除头。

field:头字段的名称。

12. – valueForHTTPHeaderField:

- (NSString *)valueForHTTPHeaderField:(NSString *)field

返回指定的HTTP报头字段的值。

返回值与头字段相关联的字段值,或者零如果没有相应的头字段。

13. – setOperationClass:设置操作类

- (void)setOperationClass:(Class)operationClass

集的一个子类SDWebImageDownloaderOperation作为默认NSOperation每次使用SDWebImage构造一个请求操作下载一个图像。

operationClass:SDWebImageDownloaderOperation设置为默认的子类。通过nil SDWebImageDownloaderOperation将恢复。

14. – downloadImageWithURL:options:progress:completed:

- (id)downloadImageWithURL:(NSURL *)url options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock

创建一个SDWebImageDownloader异步下载实例与给定的URL委托完成图像时就通知下载或已经发生一个错误。

参数:url:图片下载的URL

options:这个选项用于下载

progressBlock(进展块):一块反复调用图片下载

completedBlock(完成块):一块叫一旦下载完成。如果下载成功了,图像参数设置,在出错的情况下,错误的参数设置错误。最后一个参数总是是的如果SDWebImageDownloaderProgressiveDownload没有使用。SDWebImageDownloaderProgressiveDownload选项,这与局部图像块反复调用对象之前,完成参数设置为不被称为最后一次完整图像,完成参数设置为YES。在错误的情况下,完成参数总是没错的。

返回值一个可删除的SDWebImageOperation

15. – setSuspended:  设置暂停

- (void)setSuspended:(BOOL)suspended

设置下载队列悬浮状态

SDWebImageDownloaderOperation

Tasks

1. request property  请求

@property (strong, nonatomic, readonly) NSURLRequest *request

使用的请求操作的连接。

2. shouldDecompressImages property  应该解压图像

@property (assign, nonatomic) BOOL shouldDecompressImages

3. shouldUseCredentialStorage property

@property (nonatomic, assign) BOOL shouldUseCredentialStorage

URL连接是否应该咨询认证的证书存储连接。是的默认情况下。这是返回的值NSURLConnectionDelegate方法-connectionShouldUseCredentialStorage:。

4. credential property  凭证

@property (nonatomic, strong) NSURLCredential *credential

连接的凭据用于身份验证的挑战:didReceiveAuthenticationChallenge:。这将覆盖任何共享凭证存在的用户名或密码请求URL,如果存在。

5. options property 选项

@property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options

的SDWebImageDownloaderOptions接收器。

6. expectedSize property  预期的大小

@property (assign, nonatomic) NSInteger expectedSize

预期的数据的大小。

7. response property

@property (strong, nonatomic) NSURLResponse *response

返回的响应操作的连接。

8. – initWithRequest:options:progress:completed:cancelled:

- (id)initWithRequest:(NSURLRequest *)request options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock cancelled:(SDWebImageNoParamsBlock)cancelBlock

初始化一个SDWebImageDownloaderOperation对象注意:进展块背景上执行队列中注意:完成块主队列上执行成功。如果发现错误,有机会阻止将在背景执行队列中

request:URL请求

options:下载选项

progressBlock:数据块时执行新块到来

completedBlock:块下载完成后执行

cancelBlock:块执行如果下载(操作)取消了返回值初始化实例

SDWebImageManager Class

概述背后的SDWebImageManager是类UIImageView + WebCache类别,喜欢。与异步下载器(SDWebImageDownloader)图像缓存存储(SDImageCache)。您可以直接使用这个类受益于web图像下载缓存比在另一个上下文UIView。

Tasks

1. delegate property 代理

@property (weak, nonatomic) id<SDWebImageManagerDelegate>delegate

2. imageCache property 图像缓存

@property (strong, nonatomic, readonly) SDImageCache *imageCache

3. imageDownloader property 图片下载器

@property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader

4. cacheKeyFilter property 缓存键过滤

- (NSString *)cacheKeyForURL:(NSURL *)url

返回给定URL缓存键

5. + sharedManager 共享

+ (SDWebImageManager *)sharedManager

返回全球SDWebImageManager实例。返回值SDWebImageManager共享实例

6. – downloadImageWithURL:options:progress:completed:

- (id)downloadImageWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionWithFinishedBlock)completedBlock

在给定的URL下载图像如果没有出现在缓存或返回缓存的版本。

options:一个面具来指定选项用于此请求.

progressBlock:一块叫做图像下载

completedBlock:一块时调用操作已经完成。这个参数是必需的。这一块没有返回值,以请求的用户界面图像作为第一个参数。图像参数是零在出错的情况下,第二个参数可以包含一个NSError。第三个参数是一个SDImageCacheType枚举指示如果图像从本地缓存或内存缓存中检索或从网络。最后一个参数设置没有SDWebImageProgressiveDownload时选择使用和下载图像。这个街区因此被称为多次与部分图像。当图像完全下载,块被称为最后一次完整图像和最后一个参数设置为YES

返回值返回一个NSObject符合SDWebImageOperation。应该SDWebImageDownloaderOper的实例

7. – saveImageToCache:forURL:

- (void)saveImageToCache:(UIImage *)image forURL:(NSURL *)url

保存图像缓存对于给定的URL

8. – cancelAll 取消所有

- (void)cancelAll

取消所有当前操作

9. – isRunning

- (BOOL)isRunning

检查一个或多个操作运行

10. – cachedImageExistsForURL: 存在缓存图像URL

- (BOOL)cachedImageExistsForURL:(NSURL *)url

检查图像是否已经被缓存

11. – diskImageExistsForURL: 存在磁盘映像的URL

- (BOOL)diskImageExistsForURL:(NSURL *)url

检查图像是否已经缓存的磁盘上

返回:如果图像已经缓存(磁盘)

12. – cachedImageExistsForURL:completion: 缓存图像存在ForURL:完成

- (void)cachedImageExistsForURL:(NSURL *)url completion:(SDWebImageCheckCacheCompletionBlock)completionBlock

异步检查图像是否已经被缓存注意:完成块总是主队列上执行参数

url:图像url

completionBlock块检查完成后执行

13. – diskImageExistsForURL:completion:

- (void)diskImageExistsForURL:(NSURL *)url completion:(SDWebImageCheckCacheCompletionBlock)completionBlock

异步检查图像是否已经缓存的磁盘上注意:完成块总是主队列上执行

completionBlock块检查完成后执行

14. – cacheKeyForURL:  为URL缓存键

- (NSString *)cacheKeyForURL:(NSURL *)url

返回给定URL缓存键

url:图像url

返回值如果图像已经缓存

Deprecated Methods 弃用的方法

1. – downloadWithURL:options:progress:completed:

- (id)downloadImageWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionWithFinishedBlock)completedBlock

在给定的URL下载图像如果没有出现在缓存或返回缓存的版本。


options:一个面具来指定选项用于此请求.

progressBlock:一块叫做图像下载

completedBlock:一块时调用操作已经完成。这个参数是必需的。这一块没有返回值,以请求的用户界面图像作为第一个参数。图像参数是零在出错的情况下,第二个参数可以包含一个NSError。第三个参数是一个SDImageCacheType枚举指示如果图像从本地缓存或内存缓存中检索或从网络。最后一个参数设置没有SDWebImageProgressiveDownload时选择使用和下载图像。这个街区因此被称为多次与部分图像。当图像完全下载,块被称为最后一次完整图像和最后一个参数设置为YES

返回值返回一个NSObject符合SDWebImageOperation。应该SDWebImageDownloaderOper的实例

SDWebImagePrefetcher

Tasks

1.manager property

@property (strong, nonatomic, readonly) SDWebImageManager *manager

网络图片管理器

2. maxConcurrentDownloads property 最大并发下载

@property (nonatomic, assign) NSUInteger maxConcurrentDownloads

最大数量的url来同时预取。默认为3。

3. options property 选项

@property (nonatomic, assign) SDWebImageOptions options

SDWebImageOptions prefetcher。默认为SDWebImageLowPriority。

4. prefetcherQueue property

@property (nonatomic, assign) dispatch_queue_t prefetcherQueue

队列Prefetcher选项。默认为主要的队列。

5. delegate property

@property (weak, nonatomic) id<SDWebImagePrefetcherDelegate>delegate

6. + sharedImagePrefetcher

+ (SDWebImagePrefetcher *)sharedImagePrefetcher

返回全球形象prefetcher实例。

7. – initWithImageManager:

- (id)initWithImageManager:(SDWebImageManager *)manager

可以与任意图像实例化一个prefetcher manager。

8. – prefetchURLs:

- (void)prefetchURLs:(NSArray *)urls

指定的url列表让SDWebImagePrefetcher队列预取,目前一个图片下载,跳过图片下载失败,继续下一个图像列表中

9. – prefetchURLs:progress:completed:

- (void)prefetchURLs:(NSArray *)urls progress:(SDWebImagePrefetcherProgressBlock)progressBlock completed:(SDWebImagePrefetcherCompletionBlock)completionBlock

指定的url列表让SDWebImagePrefetcher队列预取,目前一个图片下载,跳过图片下载失败,继续下一个图像列表中

progressBlock:块被称为当进度更新;第一个参数是(成功与否)完成请求的数量,第二个参数是图像最初请求的总数预取的

completionBlock:块被称为预取完成时第一个参数(成功与否)完成请求的数量,第二个参数是跳过请求的数量

10. – cancelPrefetching

- (void)cancelPrefetching

删除并取消排队列表

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容