鍍金池/ 教程/ Android/ Image Pipeline介紹
進度條
在JAVA代碼中使用Drawees
Drawee的各種效果配置
緩存
一些陷阱
關(guān)于在Android Studio中編譯
多圖請求及圖片復(fù)用
自定義網(wǎng)絡(luò)加載
支持的URIs
可關(guān)閉的引用
監(jiān)聽下載事件
修改圖片
引入Fresco
縮放
圓角和圓圈
配置Image Pipeline
縮放和旋轉(zhuǎn)圖片
(圖片請求)Image Requests
自定義View
使用ControllerBuilder
在XML中使用Drawees
開始使用 Fresco
關(guān)鍵概念
Image Pipeline介紹
漸進式JPEG圖
數(shù)據(jù)源和數(shù)據(jù)訂閱者
直接使用Image Pipeline
動畫圖(gif)
使用其他的Image Loader

Image Pipeline介紹

本教程內(nèi)容來源于:http://fresco-cn.org
采用 知識共享 署名 4.0 國際 許可協(xié)議 進行許可

Image pipeline 負責(zé)完成加載圖像,變成Android設(shè)備可呈現(xiàn)的形式所要做的每個事情。

大致流程如下:

  1. 檢查內(nèi)存緩存,如有,返回
  2. 后臺線程開始后續(xù)工作
  3. 檢查是否在未解碼內(nèi)存緩存中。如有,解碼,變換,返回,然后緩存到內(nèi)存緩存中。
  4. 檢查是否在文件緩存中,如果有,變換,返回。緩存到未解碼緩存和內(nèi)存緩存中。
  5. 從網(wǎng)絡(luò)或者本地加載。加載完成后,解碼,變換,返回。存到各個緩存中。

既然本身就是一個圖片加載組件,那么一圖勝千言。

http://wiki.jikexueyuan.com/project/fresco/images/imagepipeline.png" alt="Image Pipeline Diagram" />

上圖中,disk cache實際包含了未解碼的內(nèi)存緩存在內(nèi),統(tǒng)一在一起只是為了邏輯稍微清楚一些。關(guān)于緩存,更多細節(jié)可以參考這里。

Image pipeline 可以從本地文件加載文件,也可以從網(wǎng)絡(luò)。支持PNG,GIF,WebP, JPEG。

各個Android系統(tǒng)的WebP適配

在3.0系統(tǒng)之前,Android是不支持WebP格式的。在4.1.2之前,擴展WebP格式是不支持的。 在Image pipeline的支持下,從2.3之后,都可以使用WebP格式。

下一篇:縮放