<p id="qitwt"></p>
      1. <object id="qitwt"><strong id="qitwt"></strong></object>
        <p id="qitwt"></p>
        <li id="qitwt"></li>
        <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
        <p id="qitwt"><label id="qitwt"></label></p>
      2. <acronym id="qitwt"></acronym>
        <p id="qitwt"></p>
        免費開源的iOS開發學習平臺

        網絡圖片下載SDK:SDWebImage

        在實際的App開發中,界面顯示的圖片除了少量的本地圖片外,絕大多數圖片都需要通過網絡從服務器下載。對于網絡圖片下載的處理邏輯需要考慮諸多因素,例如網絡傳輸因素、圖片緩存等,通常情況下我們都會使用SDWebImage來完成網絡圖片的下載。本節簡單介紹一下SDWebImage的基本使用,全球超過90%的App都會存在SDWebImage的身影。

        SDWebImage的下載與安裝

        從Github中搜索關鍵字:SDWebImage,即可找到SDWebImage的版本倉庫;

        SDWebImage的安裝支持使用CocoaPods、Carthage以及手工方式安裝,以CocoaPods為例,需要在工程的Podfile文件中添加如下內容,然后更新下載即可。

        platform :ios, '7.0'
        pod 'SDWebImage', '~>3.8'
        

        SDWebImage是對UIImageView類增加了分類。在需要使用圖片下載的類中,引用SDWebImage頭文件即可對UIImageView對象使用擴展的方法。

        #import <SDWebImage/UIImageView+WebCache.h>
        

        SDWebImage中的核心方法

        SDWebImage提供了極其簡單的方法用于下載網絡圖片,最簡單的情況下,只要提供圖片素材的URL即可。SDWebImage提供的常見下載圖片方法如下:

        • 最簡單的方法,只需要提供圖片的網絡地址以及占位圖即可
        -(void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;
        
        • 指定圖片下載的相關操作。在該方法中,需要傳入一個SDWebImageOptions類型的參數,該參數中定義了有關圖片下載的操作,例如,失敗后是否重試、是否緩存、優先級等等。
        -(void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;
        
        • 在block中定義圖片下載成功后的后續操作
        -(void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock;
        
        • 在圖片下載過程中,獲取圖片下載的進度。例如我們可以添加一個進度條,提示用戶圖片下載的進度。
        - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock;
        

        圖片緩存管理

        SDWebImage提供了緩存機制,即下載過的圖片,當需要再次顯示時,SDWebImage會優先從緩存中查找是否有存儲圖片。SDWebImage使用的緩存即包括在內存中的緩存,也包括在應用沙盒中的緩存(硬盤中的緩存)。緩存機制的存在一方面加快了圖片下載的速度,為用戶節省了流量,但另外一方面也會帶來存儲空間的浪費,因此在SDWebImage中,也提供了用于緩存管理的類--SDImageCache。在SDImageCache類中,提供了如下幾個常用的方法。

        • 內存中緩存的大小
        @property (assign, nonatomic) NSUInteger maxMemoryCost;
        
        • 硬盤緩存的大小
        @property (assign, nonatomic) NSUInteger maxCacheSize;
        
        • 緩存保存的時間,單位:秒
        @property (assign, nonatomic) NSInteger maxCacheAge;
        
        • 清除內存中的緩存
        - (void)clearMemory;
        
        • 清除硬盤中的所有緩存圖片
        - (void)clearDisk;
        
        • 清除硬盤中過期的緩存圖片
        - (void)cleanDisk;
        

        青青草国产成人久久_jizzjizz日本护士高清_亚洲 另类 国产 另类_99久久免费精品色老
        <p id="qitwt"></p>
          1. <object id="qitwt"><strong id="qitwt"></strong></object>
            <p id="qitwt"></p>
            <li id="qitwt"></li>
            <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
            <p id="qitwt"><label id="qitwt"></label></p>
          2. <acronym id="qitwt"></acronym>
            <p id="qitwt"></p>