圖片加載框架

1、基本要求

根據用戶需求可以靈活配置(建造者模式)
支持高并發,圖片加載的優先級
支持可以選擇不同的加載策略,對加載策略進行擴展
二級緩存 加載圖片時內存中已經加載了,則從內存中加載,不存在去外置卡中加載,外置還不存在則從網絡下載
并對緩存策略可以擴展
支持從加載過程中顯示默認加載圖片
支持加載失敗時 顯示默認錯誤圖片
圖片顯示自適應。從網絡加載下來的圖片經最佳比例壓縮后顯示
不能失真變形
支持請求轉發,下載

2、用到的知識點

  • 設計模式:
    生產者 消費者模式
    建造者模式
    單例模式
    模板方法模式
    策略模式
  • 緩存
    內存緩存 LruCache技術
    硬盤緩存技術DiskLruCache技術
    圖片下載時請求轉發

參數封裝

Paste_Image.png

ImageLoader收到展示和加載圖片的任務,并交給ImageLoaderEngine(創建任務,并進行任務調度)分配到具體的線程池去完成,任務通過 Cache (本地緩存)及 ImageDownloader (從網絡獲取圖片)獲取圖片,中間可能經過 BitmapProcessor(圖片處理器) 和 ImageDecoder (圖片解碼)處理,最終轉換為Bitmap 交給 BitmapDisplayer 在 ImageAware 中顯示。

注:其中 Cache 分為 MemoryCache(內存緩存) 和 DiskCache(硬盤緩存) 兩部分。
:Processor 資源(圖片)處理器,負責處理資源,比如旋轉、壓縮、截取等。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容