Fresco正传(1):总览

前言

还是要提供中文文档的==》文档

正文

好的技术文章,离不开”主线明确,条理清晰,详略得当“这些要义。

Fresco作为一款图片显示/处理框架,那么其核心主线就是图片显示,框架所有的工作是都为围绕这个核心目的来进行工作。而在处理的过程中,图片显示并不是孤立存在的,必定需要从他处获取帮助或者功能。对于显示图片来说,显示什么样的图片和从哪里获取显示的图片,是其关心的。如图:

通过官方文档,了解到Fresco本身的设计就遵循了MVC模式。其中:
1. View 对应DraweeView类(实际上是DraweeHolder),其负责展示数据,显示图片。
2. Model对应DraweeHierarchy类,其负责持有数据,用一个层级组织和维护最终绘制和显示的图片。
3. Controller对应DraweeController类,其负责控制数据的逻辑。

文字略显苍白,图片才是最好的诠释方式,其中代码是示意使用后续会分析到。如图:

在Fresco的框架中,DraweeView背后的DraweeHolder持有了DraweeHierarchyDraweeController两个类的引用。SimpleDraweeView使用setImageUri()方法发出要显示图片的请求。

随后,通过一系列的操作去构造DraweeController的实例以便发出请求和更新视图。然后,马上使用setController()方法以及setHierarchy()方法,通知DraweeView视图的改变以显示加载效果(此时还是图片请求过程中)。

最后,通过DraweeController请求成功的回调,再次通知DraweeHierarchy视图改变,以完成显示图片的全部操作。

最后

附上:
github:https://github.com/biezhihua
简书:http://www.jianshu.com/p/e49417906ba7
CSDN:http://blog.csdn.net/biezhihua/article/details/49783817

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值