鍍金池/ 教程/ Android/ 關(guān)鍵概念
進(jìn)度條
在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介紹
漸進(jìn)式JPEG圖
數(shù)據(jù)源和數(shù)據(jù)訂閱者
直接使用Image Pipeline
動畫圖(gif)
使用其他的Image Loader

關(guān)鍵概念

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

Drawees

Drawees 負(fù)責(zé)圖片的呈現(xiàn),包含幾個組件,有點像MVC模式。

DraweeView

繼承于 View, 負(fù)責(zé)圖片的顯示。

一般情況下,使用SimpleDraweeView 即可. 簡單的用法,在這個頁面:開始使用

它支持很多自定義效果,參見這里: 自定義顯示效果.

DraweeHierarchy

繼承于 Drawable, 包含用于繪制的圖像數(shù)據(jù)。MVC中的M。

如果你想在Java代碼中自定義圖片的展示,可以通過這類實現(xiàn),具體的請參考這里: 在Java代碼中自定義顯示效果

DraweeController

DraweeController 負(fù)責(zé)和 image loader 交互(默認(rèn)是Fresco中 image pipeline),可以創(chuàng)建一個這個類的實例,來實現(xiàn)對所要顯示的圖片做更多的控制。

DraweeControllerBuilder

DraweeControllersDraweeControllerBuilder 采用 Builder 模式創(chuàng)建,創(chuàng)建之后,不可修改。具體參見: 使用ControllerBuilder。

Listeners

使用 ControllerListener 的一個場景就是設(shè)置一個 Listener監(jiān)聽圖片的下載。

Image Pipeline

Fresco 的 Image Pipeline 負(fù)責(zé)圖片的獲取和管理。圖片可以來自遠(yuǎn)程服務(wù)器,本地文件,或者Content Provider,本地資源。壓縮后的文件緩存在本地存儲中,Bitmap數(shù)據(jù)緩存在內(nèi)存中。

在5.0系統(tǒng)之后,Image Pipeline 使用`pinned purgeables*將Bitmap數(shù)據(jù)存在native 內(nèi)存中。這要求圖片不使用時,要顯示地釋放內(nèi)存。

SimpleDraweeView 自動處理了這個釋放過程,所以沒有特殊情況,盡量使用SimpleDraweeView,在特殊的場合,如果有需要,也可以直接控制Image Pipeline。