圖片加載在 Android開發項目中是必不可少的,爲了下降開發週期和難度,咱們常常會選用一些圖片加載的開源庫,而Android發展到如今圖片加載開源庫也愈來愈多了,下面介紹幾種開發中主流的圖片加載框架&以及他們之間的對比優缺點。html
Picasso
中文翻譯爲'畢加索',由Square公司開源的一個適用於Android的強大圖像下載和緩存庫.git
功能介紹github
圖片的異步加載(最基礎功能)segmentfault
使用最少的內存完成複雜的圖片轉換,轉換圖片以適合所顯示的ImageView,來減小內存消耗緩存
支持加載過程當中和加載錯誤時顯示對應圖片網絡
在Adapter中的回收不在視野的ImageView和取消已經回收的ImageView下載進程併發
支持加載多種數據源 網絡、本地、資源、Assets 等框架
自動添加磁盤和內存二級緩存功能異步
支持優先級處理ide
支持飛行模式、併發線程數根據網絡類型而變
Picasso 沒有實現本地緩存功能,交給了 Square 的另一個網絡庫 okhttp 去實現,這樣的好處是能夠經過請求 Response Header 中的 Cache-Control 及 Expired 控制圖片的過時時間。
優勢以下:
缺點以下:
Glide
是由Google開源的一個圖片加載庫,是一款快速高效的Android開源媒體管理和圖像加載框架,它將媒體解碼,內存和磁盤緩存以及資源池包裝成簡單易用的界面.
功能介紹
圖片的異步加載(基礎功能)
支持設置加載尺寸、設置加載中以及加載失敗圖片、設置加載動畫、設置圖文混排
多樣式的媒體加載(設置縮略圖支持:先加載縮略圖 而後在加載全圖)
支持設置磁盤緩存策略、設置跳過內存緩存、清理緩存
生命週期集成(然而仍是有bug)
與其餘開源庫對比
優勢以下:
缺點以下:
Fresco
是由Facebook開源的用於管理圖像及其使用內存的Android庫
具體功能請前往官方文檔查看
優勢以下
缺點以下:
至此Android 中主流的三大圖片加載框架就介紹完畢了,感謝閱讀
歡迎關注做者darryrzhong,更多幹貨等你來拿喲.
更多精彩文章請關注