美文网首页
SDWebImage

SDWebImage

作者: Icec | 来源:发表于2016-02-09 19:54 被阅读850次

    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

    删除并取消排队列表

    相关文章

      网友评论

          本文标题:SDWebImage

          本文链接:https://www.haomeiwen.com/subject/ohgykttx.html