本教程內(nèi)容來源于:http://fresco-cn.org
采用 知識(shí)共享 署名 4.0 國際 許可協(xié)議 進(jìn)行許可
不要試圖把Fresco返回的一些對(duì)象進(jìn)行向下轉(zhuǎn)化,這也許會(huì)帶來一些對(duì)象操作上的便利,但是也許在后續(xù)的版本中,你會(huì)遇到一些因?yàn)橄蛳罗D(zhuǎn)換特性丟失導(dǎo)致的難以處理的問題。
DraweeHierarchy.getTopLevelDrawable()
僅僅 應(yīng)該在DraweeViews中用,除了定義View中,其他應(yīng)用代碼建議連碰都不要碰這個(gè)。
在自定義View中,也千萬不要將返回值向下轉(zhuǎn)換,也許下個(gè)版本,我們會(huì)更改這個(gè)返回值類型。
永遠(yuǎn)不要吧DraweeHierarchy
通過 DraweeView.setHierarchy
設(shè)置給不同的View。DraweeHierarchy是由一系列Drawable組成的。在Android中, Drawable不能被多個(gè)View共享。
原因同上。當(dāng)時(shí)可以使用不同的資源ID。Android實(shí)際會(huì)創(chuàng)建不同的Drawable。
DraweeView
設(shè)置圖片。目前 DraweeView
直接繼承于ImageView,因此它有 setImageBitmap
,
setImageDrawable
等方法。
如果利用這些方法,直接設(shè)置一個(gè)圖片。內(nèi)部的DraweeHierarchy
就會(huì)丟失,也就無法取到image
pipeline 的任何圖像了。
在后續(xù)的版本中,DraweeView會(huì)直接從View派生。任何屬于ImageView但是不屬于View的方法都會(huì)被移除。