一,Fresco
1.內存管理:
Fresco將圖片放在一個特別的內存區域,在圖片不顯示的時候佔用的內存會自動被釋放。這會使得App更加流暢,減少因圖片內存佔用兒引發的OOM,內存分配採用:系統匿名共享內存
2.漸進式呈現圖片:
漸進式圖片格式先呈現大致的圖片輪廓,然後隨着圖片下載的繼續,呈現逐漸清晰的圖片,這對於移動設備,尤其是慢
網絡有極大的利好,可帶來更好的用戶體驗。
3.支持加載GIF,WebP格式
4.圖像的呈現:
(1)自定義居中焦點(對人臉等圖片顯示非常有幫助)
(2)圓角圖,當然圓圈也可以
(3)下載失敗後,點擊重新下載
(4)自定義佔位圖,自定義overlay,或者進度條
(5)指定用戶按壓時的overlay,或者進度條
5.圖像的加載
(1)爲同一個圖片指定不同的遠程路徑,或者使用已經存在本地緩存中的圖片
(2)先顯示一個低解析度的圖片,等高清圖片下載完之後在顯示高清圖
(3)加載完成回調通知
(4)對於本地圖,如有EXIF縮略圖,在大圖加載完成之前,可先顯示縮略圖
(5)縮放或者旋轉圖片
Glide
1.使用簡單
2.可配置度高,自適應程度高
3.支持常見圖片格式JPG, PNG ,GIF, WebP格式
4.支持多種數據源,網絡,本地,資源,Assets等
5.高效緩存策略,支持內存和本地圖片緩存,默認Bitmap格式採用RGB_565內存使用至少減少一半
6.生命週期集成,根據Activity/Fragment生命週期自動管理請求
7.高效處理Bitmap,使用Bitmap Pool使用Bitmap複用,主動調用recycle回收需要回收的Bitmap,減小系統的回收壓力
Picasso
1.在adapter中需要取消已經不在視野範圍的ImageView圖片資源的加載,否則會導致圖片錯位,Picasso已經解決了這個問題
2.使用複雜的圖片壓縮轉換來儘可能的減少內存消耗
3.自帶內存和硬盤二級緩存功能