iOS開發SDWebImageOptions理解
typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) {
SDWebImageRetryFailed = 1 << 0,
SDWebImageLowPriority = 1 << 1,
SDWebImageCacheMemoryOnly = 1 << 2,
SDWebImageProgressiveDownload = 1 << 3,
SDWebImageRefreshCached = 1 << 4,
SDWebImageContinueInBackground = 1 << 5,
SDWebImageHandleCookies = 1 << 6,
SDWebImageAllowInvalidSSLCertificates = 1 << 7,
SDWebImageHighPriority = 1 << 8,
SDWebImageDelayPlaceholder = 1 << 9,
SDWebImageTransformAnimatedImage = 1 << 10,
SDWebImageAvoidAutoSetImage = 1 << 11
};
SDWebImageRetryFailed = 1 << 0,
默認情況下,如果一個url在下載的時候失敗了,那么這個url會被加入黑名單並且library不會嘗試再次下載,這個flag會阻止library把失敗的url加入黑名單(簡單來說如果選擇了這個flag,那么即使某個url下載失敗了,sdwebimage還是會嘗試再次下載他
SDWebImageLowPriority = 1 << 1,
默認情況下,圖片會在交互發生的時候下載(例如你滑動tableview的時候),這個flag會禁止這個特性,導致的結果就是在scrollview減速的時候,才會開始下載(也就是你滑動的時候scrollview不下載,你手從屏幕上移走,scrollview開始減速的時候才會開始下載圖片
SDWebImageCacheMemoryOnly = 1 << 2,
這個flag禁止磁盤緩存,只有內存緩存
SDWebImageProgressiveDownload = 1 << 3,
這個flag會在圖片下載的時候就顯示(就像你用瀏覽器瀏覽網頁的時候那種圖片下載,一截一截的顯示(待確認))
SDWebImageRefreshCached = 1 << 4, 具體處理
一個圖片即使已經緩存了,還是會根據url進行重新請求.並且緩存策略依據NSURLCache而不是SDWebImage,
SDWebImageContinueInBackground = 1 << 5,
啟動后台下載,加入你進入一個頁面,有一張圖片正在下載這時候你讓app進入后台,圖片還是會繼續下載(這個估計要開backgroundfetch才有用)
SDWebImageHandleCookies = 1 << 6,
可以控制存在NSHTTPCookieStore的cookies.
SDWebImageAllowInvalidSSLCertificates = 1 << 7,
允許不安全的SSL證書,在正式環境中慎用
SDWebImageHighPriority = 1 << 8,
默認情況下,image在裝載的時候是按照他們在隊列中的順序裝載的(就是先進先出).這個flag會把他們移動到隊列的前端,並且立刻裝載,而不是等到當前隊列裝載的時候再裝載.
SDWebImageDelayPlaceholder = 1 << 9,
默認情況下,占位圖會在圖片下載的時候顯示.這個flag開啟會延遲占位圖顯示的時間,等到圖片下載完成之后才會顯示占位圖.
SDWebImageTransformAnimatedImage = 1 << 10,
是否transform圖片

