廖祜秋 · 更新于 2018-11-28 11:00:42

关键概念

本教程内容来源于:http://fresco-cn.org
采用 知识共享 署名 4.0 国际 许可协议 进行许可

Drawees

Drawees 负责图片的呈现,包含几个组件,有点像MVC模式。

DraweeView

继承于 View, 负责图片的显示。

一般情况下,使用SimpleDraweeView 即可. 简单的用法,在这个页面:开始使用

它支持很多自定义效果,参见这里: 自定义显示效果.

DraweeHierarchy

继承于 Drawable, 包含用于绘制的图像数据。MVC中的M。

如果你想在Java代码中自定义图片的展示,可以通过这类实现,具体的请参考这里: 在Java代码中自定义显示效果

DraweeController

DraweeController 负责和 image loader 交互(默认是Fresco中 image pipeline),可以创建一个这个类的实例,来实现对所要显示的图片做更多的控制。

DraweeControllerBuilder

DraweeControllersDraweeControllerBuilder 采用 Builder 模式创建,创建之后,不可修改。具体参见: 使用ControllerBuilder

Listeners

使用 ControllerListener 的一个场景就是设置一个 Listener监听图片的下载。

Image Pipeline

Fresco 的 Image Pipeline 负责图片的获取和管理。图片可以来自远程服务器,本地文件,或者Content Provider,本地资源。压缩后的文件缓存在本地存储中,Bitmap数据缓存在内存中。

在5.0系统之后,Image Pipeline 使用`pinned purgeables*将Bitmap数据存在native 内存中。这要求图片不使用时,要显示地释放内存。

SimpleDraweeView 自动处理了这个释放过程,所以没有特殊情况,尽量使用SimpleDraweeView,在特殊的场合,如果有需要,也可以直接控制Image Pipeline。

上一篇: 配置和开始使用 下一篇: 支持的 URIs