Universal ImageLoader 是很早開源的圖片緩存,在早期被很多應用使用。
Picasso 是 Square 開源的項目,且他的主導者是 JakeWharton,所以廣為人知。
Glide 是 Google 員工的開源項目,被一些 Google App 使用,在去年的 Google I/O 上被推薦,不過目前國內資料不多。
Fresco 是 Facebook 在今年上半年開源的圖片緩存
共同優點
1. 使用簡單。都可以通過一句代碼可實現圖片獲取和顯示。
2. 可配置度高,自適應程度高。圖片緩存的下載器(重試機制)、解碼器、顯示器、處理器、內存緩存、本地緩存、線程池、緩存算法等大都可輕松配置。自適應程度高,根據系統性能初始化緩存配置、系統信息變更后動態調整策略。
比如根據 CPU 核數確定最大并發數,根據可用內存確定內存緩存大小,網絡狀態變化時調整最大并發數等。
3. 多級緩存。都至少有兩級緩存、提高圖片加載速度。
4. 支持多種數據源。支持多種數據源,網絡、本地、資源、Assets 等
5. 支持多種 Displayer。不僅僅支持 ImageView,同時支持其他 View 以及虛擬的 Displayer 概念。
區別
ImageLoader 的功能以及代理容易理解長度都一般。
Picasso 代碼雖然只在一個包下,沒有嚴格的包區分,但代碼簡單、邏輯清晰,一兩個小時就能叫深入的了解完。
Glide 功能強大,但代碼量大、流轉復雜。在較深掌握的情況下才推薦使用,免得出了問題難以下手解決。

新聞熱點
疑難解答