iOS开发SDWebImageOptions理解
SDWebImageRetryFailed (默认情况下,如果一个url在下载的时候失败了,那么这个url会被加入黑名单并且library不会尝试再次下载,这个flag会阻止library把失败的url加入黑名单(简单来说如果选择了这个flag,那么即使某个url下载失败了,sdwebimage还是会尝试再次下载他)
SDWebImageLowPriority (默认情况下,图片会在交互发生的时候下载(例如你滑动tableview的时候),这个flag会禁止这个特性,导致的结果就是在scrollview减速的时候,才会开始下载(也就是你滑动的时候scrollview不下载,你手从屏幕上移走,scrollview开始减速的时候才会开始下载图片)
SDWebImageProgressiveLoad (这个flag会在图片下载的时候就显示(就像你用浏览器浏览网页的时候那种图片下载,一截一截的显示(但是需要服务器配合)))
SDWebImageRefreshCached (一个图片缓存了,还是会重新请求.并且缓存侧略依据NSURLCache而不是SDWebImage.URL不变,图片会更新时使用)
SDWebImageContinueInBackground (启动后台下载,加入你进入一个页面,有一张图片正在下载这时候你让app进入后台,图片还是会继续下载(这个估计要开backgroundfetch才有用))
SDWebImageHandleCookies (可以控制存在NSHTTPCookieStore的cookies.)
SDWebImageAllowInvalidSSLCertificates (允许不安全的SSL证书,在正式环境中慎用)
SDWebImageHighPriority (默认情况下,image在装载的时候是按照他们在队列中的顺序装载的(就是先进先出).这个flag会把他们移动到队列的前端,并且立刻装载,而不是等到当前队列装载的时候再装载.)
SDWebImageDelayPlaceholder (默认情况下,占位图会在图片下载的时候显示.这个flag开启会延迟占位图显示的时间,等到图片下载完成之后才会显示占位图.)
SDWebImageTransformAnimatedImage (是否transform图片)
SDWebImageAvoidAutoSetImage (默认情况下,图像在下载后添加到imageView。但在某些情况下,我们希望在设置图像之前可以手动修改动画(例如应用过滤器或使用交叉淡入淡出动画添加它),如果您希望在完成时手动设置图像,请使用此标志)
SDWebImageScaleDownLargeImages (默认情况下,图像将根据其原始大小进行解码。此标志将图像缩小到与设备的受限内存兼容的大小;主要用于加载大图片时避免高内存导致闪退)
SDWebImageQueryMemoryData (默认情况下,当图像已经缓存在内存中时,我们不查询图像数据。此掩码可以强制同时查询图像数据。除非指定“SDWebImageQueryMemoryDataSync”,否则此查询是异步的`)
SDWebImageQueryMemoryDataSync (默认情况下,当您仅指定“SDWebImageQueryMemoryData”时,我们将异步查询内存映像数据。结合该掩模,实现了对内存图像数据的同步查询。)
SDWebImageQueryDiskDataSync (默认情况下,当内存缓存丢失时,我们异步查询磁盘缓存。此掩码可以强制同步查询磁盘缓存(当内存缓存丢失时)。)
SDWebImageFromCacheOnly (默认情况下,当缓存丢失时,从加载程序加载图像。此标志可防止仅从缓存加载此文件。)
SDWebImageFromLoaderOnly (默认情况下,我们在从加载程序加载图像之前查询缓存。此标志可防止仅从加载程序加载此文件。)
SDWebImageForceTransition (默认情况下,当使用“SDWebImageTransition”在映像加载完成后执行某些视图转换时,此转换仅在管理器的回调是异步的(从网络或磁盘缓存查询)时应用于映像.此掩码可以强制对任何情况应用视图转换,如内存缓存查询或同步磁盘缓存查询。)
SDWebImageAvoidDecodeImage (默认情况下,我们将在缓存查询和从网络下载期间在后台解码图像。这有助于提高性能,因为在屏幕上渲染图像时,需要首先对其进行解码。但是,这个过程也会增加内存的使用。如果由于内存消耗过多而遇到问题,此标志可能会阻止对图像进行解码。)
SDWebImageDecodeFirstFrameOnly (默认情况下,我们解码动画图像。此标志只能强制解码第一帧并生成静态图像。)
SDWebImagePreloadAllFrames (默认情况下,对于“SDAnimatedImage”,我们在渲染期间解码动画图像帧以减少内存使用。但是,您可以指定将所有帧预加载到内存中,以在大量ImageView共享动画图像时减少CPU使用量。这实际上会触发后台队列中的“prelodallanimatedImageFrames”(仅限于磁盘缓存和下载))
SDWebImageMatchAnimatedImageClass (默认情况下,当您使用“SDWebImageContextAnimatedImageClass”上下文选项时(如使用“SDAnimatedImageView”设计为使用“SDAnimatedImage”),当内存缓存命中或图像解码器无法生成与自定义类完全匹配的图像作为回退解决方案时,我们仍然可以使用“UIImage”,可以确保我们总是回拨图像与您提供的类。如果生成失败,将使用代码为“SDWebImageErrorBadImageData”的错误。请注意,此选项与“SDWebImageDecodeFirstFrameOnly”不兼容,后者始终生成UIImage/NSImage。)
SDWebImageWaitStoreCache (默认情况下,从网络加载映像时,映像将写入缓存(内存和磁盘,由“storeCacheType”上下文选项控制)这可能是一个异步操作,最终的'SDInternalCompletionBlock'回调不能保证磁盘缓存写入完成,并可能导致逻辑错误(例如,仅在完成块中修改磁盘数据,但磁盘缓存尚未就绪))
SDWebImageTransformVectorImage (我们通常不对矢量图像应用变换,因为矢量图像支持动态地改变到任何大小,光栅化到固定大小会丢失细节。若要修改矢量图像,可以在运行时处理矢量数据(例如修改PDF标记/SVG元素)。仍可以使用此标志对其进行转换。)