Fresco正传(1):总览
来源:互联网 发布:winscp连接被拒绝linux 编辑:程序博客网 时间:2024/04/27 13:46
前言
还是要提供中文文档的==》文档
正文
好的技术文章,离不开”主线明确,条理清晰,详略得当“这些要义。
Fresco作为一款图片显示/处理框架,那么其核心主线就是图片显示,框架所有的工作是都为围绕这个核心目的来进行工作。而在处理的过程中,图片显示并不是孤立存在的,必定需要从他处获取帮助或者功能。对于显示图片来说,显示什么样的图片和从哪里获取显示的图片,是其关心的。如图:
通过官方文档,了解到Fresco本身的设计就遵循了MVC模式。其中:
1. View 对应DraweeView
类(实际上是DraweeHolder
),其负责展示数据,显示图片。
2. Model对应DraweeHierarchy
类,其负责持有数据,用一个层级组织和维护最终绘制和显示的图片。
3. Controller对应DraweeController
类,其负责控制数据的逻辑。
文字略显苍白,图片才是最好的诠释方式,其中代码是示意使用后续会分析到。如图:
在Fresco的框架中,DraweeView
背后的DraweeHolder
持有了DraweeHierarchy
和DraweeController
两个类的引用。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
- Fresco正传(1):总览
- Fresco正传(2):DraweeView分析
- Fresco正传(3):DraweeHierarchy分析
- Fresco正传(4):DraweeController分析
- Fresco正传(7):如何手动清理Fresco的缓存。
- Fresco正传(5):请求产生和发出请求
- Fresco正传(6):如何将PhotoView与Fresco的加载机制相结合,解决超大图显示
- TD-SCDMA正传(1)
- 寒门难出贵子1 正传
- 总览
- 关于2、《倩女幽魂1》 3、《纵横四海》 4、《阿飞正传》
- 《阿飞正传》
- Win7正传
- 《阿飞正传》
- Fresco
- Fresco
- Fresco
- fresco
- iOS APP提交上架最新流程
- 关于universal-image-loader中的几种内存缓存策略
- Oracle BLOB内容批量导出
- AppDelegate存储全局变量和 NSUserDefaults standardUserDefaults 通过模型保存和读取数据,存储自定义的对象
- Struts2核心和工作原理
- Fresco正传(1):总览
- PHP使用方法重载实现动态创建属性的get和set方法
- iOS 中的行为
- Fedora22下git和github环境搭建
- ImageLoader加载圆形图片
- 在unity中对鼠标左键的点击事件和拖动区分开的语法
- OAF 个性化设置
- 神的规范:排序算法(五):归并排序
- 什么是ptlib