Fresco 源码分析(序)
1. 为什么要写这个分析的博客
其实关于Fresco的相关内容,大家上网搜索,一般可以找到一大推,但是为什么我还要写关于这个的呢,因为在网上搜索中文和英文的关于fresco的相关知识时,大家只是潜在的将fresco官方的文档做了一下变向的描述,关于这个内容,讲解比较详细的是在csdn中某用户的博客(第一篇的链接: "Fresco源码解析-Hierarachy-View-Controller" http://blog.csdn.net/feelang/article/details/45083067 ) ,还是专栏,前面几篇分析的挺精彩的,可惜到后面没有了,已经两月有余,此博主还是停留在ImagePipeLine的第一篇分析上,看后面的博客,此博主对其他内容感兴趣了,无语...看来只有自己动手了,简单用了一下fresco,然后用了两天时间,边做分析,边做笔记(老了,没办法,东西那么多,看了一会儿就忘了),我也不是藏着掖着的人,分享给大家
2. 本博客分析的内容
本来打算从如下的几个内容给大家做分享
2.1 Fresco为什么会出现
2.2 Fresco的优点
2.3 Fresco的常见概念
2.4 Fresco的简单使用
2.5 Fresco的内容
2.6 Fresco的架构
2.7 Fresco中设计到的设计模式
但是关于2.1~2.4的内容大家在网上随处便可以发现这些博客,为了方便大家查找,我将这些链接放置到此处,便于大家查找
- Fresco gitub地址: https://github.com/facebook/fresco
- Fresco 简介:https://code.facebook.com/posts/366199913563917
(***哦,推荐使用红杏:http://honx.in/i/U0Ek74Ko1zG8ixx0) - Fresco的简单使用和相关概念 :http://fresco-cn.org/docs/index.html
备注: 学习Fresco源码,安装安卓studio,安装ndk后,下载github上的完整代码,导入工程,这是一个耗时的工程,等待同步gradle完成后,你会发现Fresco-master的工程,真的很大,以我这里的Fresco 0.5.x的版本,同步下来后,大小是270M...想说爱你真的很不容易
3. 分析前奏
在看到这里的时候,我默认你已经将Fresco的工程已经成功导入,并且自己已经用Fresco写了一个简单的demo,并且可以正常运行的,另外,已经查看了“Fresco的简单使用和相关概念”的链接,只是这样的话,可能还不能明显看到Fresco的优势,建议你用Fresco的工程运行里面的module :samples下的comparsion,对比ImageLoader和Fresco以及其他的图片加载框架,优势会明显的体现出来的。
在第二点中我们已经提到要按照2.1到2.7分析,但是前几个点已经略去,那么我们直接从第五点开始说,说着说着也会顺便提到2.1到2.4的内容
备注: 在学习Fresco的源码也是需要一点设计模式的基础的,因为这个Fresco的源码中处处涉及到设计模式
从下篇开始正式的分析Fresco
下一篇链接地址: http://www.cnblogs.com/pandapan/p/4634563.html
安卓源码分析群: Android源码分析QQ1群号:164812238
Fresco 源码分析(序)的更多相关文章
- Fresco 源码分析(二) Fresco客户端与服务端交互(3) 前后台打通
4.2.1.2.4 PipelineDraweeControllerBuilder.obtainController()源码分析 续 上节中我们提到两个核心的步骤 obtainDataSourceSu ...
- Fresco 源码分析(二) Fresco客户端与服务端交互(1) 解决遗留的Q1问题
4.2 Fresco客户端与服务端的交互(一) 解决Q1问题 从这篇博客开始,我们开始讨论客户端与服务端是如何交互的,这个交互的入口,我们从Q1问题入手(博客按照这样的问题入手,是因为当时我也是从这里 ...
- Fresco 源码分析(一) DraweeView-DraweeHierarchy-DraweeController(MVC) DraweeHierachy+DraweeController的分析
4.1.5.2 模型层DraweeHierachy继承体系以及各个类的作用 DraweeHierachy (I) --| SettableDraweeHierarchy (I) ------| Gen ...
- Fresco 源码分析(三) Fresco服务端处理(1) ImagePipeline为何物
4.3 服务端的处理 备注: 因为是分析,而不是设计,所以很多知识我们类似于插叙的方式叙述,就是用到了哪个知识点,我们再提及相关的知识点,如果分析到了最后,我想想是不是应该将这个架构按照设计的方式,重 ...
- Fresco 源码分析(二) Fresco客户端与服务端交互(2) Fresco.initializeDrawee()分析 续
4.2.1.2 Fresco.initializeDrawee()的过程 续 继续上篇博客的分析Fresco.initializeDrawee() sDraweeControllerBuilderSu ...
- Fresco 源码分析(一) DraweeView-DraweeHierarchy-DraweeController(MVC) DraweeView的分析
4. Fresco的内容 为了方便学习,我们先从使用结合官方的文档来分析 4.1 Fresco客户端的使用 在使用Fresco的使用,我们直接使用的是SimpleDraweeView这个类,然后在Ac ...
- Fresco 源码分析(三) Fresco服务端处理(2) Producer具体实现的内容
我们以mProducerFactory.newNetworkFetchProducer()为例,因为这些创建新的producer的方式类似,区别在于是否有包装的处理器,即如果当前处理器中没有正在处理的 ...
- Fresco 源码分析 —— 整体架构
Fresco 是我们项目中图片加载专用框架.虽然我不是负责 Fresco 框架,但是由本人负责组里的图片加载浏览等工作,因此了解 Fresco 的源码有助于我今后的工作,也可以学习 Fresco 的源 ...
- Fresco 源码分析(三) Fresco服务端处理(3) DataSource到Producer的适配器逻辑以及BitmapMemoryCacheProducer处理的逻辑
4.3.1.2.1 Producer和DataSource之间适配器处理的逻辑 还是从程序的入口开始说吧 CloseableProducerToDataSourceAdapter.create() 源 ...
随机推荐
- [Sciter] 1. 创建最简单的Sciter项目
一些函数 sciter::debug_output_console _; 程序运行时自动启动一个控制台窗口,通过在_tiscript_中调用stdout.println来输出调试信息 SciterSe ...
- 基于websocket的单聊.群聊
关于ai.baidu.com的 代码: #########################################核心代码################################### ...
- java8--网络编程(java疯狂讲义3复习笔记)
重点复习一下网络通信和代理 java的网络通信很简单,服务器端通过ServerSocket建立监听,客户端通过Socket连接到指定服务器后,通信双方就可以通过IO流进行通信. 需要重点看的工具类:I ...
- 【SCOI 2005】 互不侵犯
[题目链接] 点击打开链接 [算法] 和HDU2167类似 先搜出一行内符合的状态,然后,f[i][j][k]表示第i行,第j种状态,放了k个,合法的方案,DP即可 [代码] #include< ...
- [转]json.dumps和json.loads区别
原文json.dumps loads 终于区分出来了 原来每次遇到json loads/dumps始终搞不清方向,写段代码试下: [python] view plain copy print? imp ...
- C++中continue
/* C++中continue使用 Author:盗了一个你 */ #include<iostream> using namespace std; int main() { int val ...
- PCB Polar SI9000阻抗模型图片文字识别方法
用过Polar SI9000的都知道,阻抗模型图片可以进行用户鼠标交互,那么它的是如何实现的呢,下面就讲一下如何实现此功能的方法 一.看看Polar SI9000阻抗模型图片交互效果 鼠标点击阻抗 ...
- jquery datatable无数据提示不居中显示
原文地址:https://www.jianshu.com/p/fc4784d11722 昨天遇到一个问题,datatable生成的表格没有数据,但是“No data found”没有居中,根本原因是c ...
- 洛谷 P3621 [APIO2007]风铃【贪心】
没有算法,但是要注意细节. 首先无解的情况,显然的是最小深度的叶子节点和最大深度的叶子节点的深度差大于1:还有一种比较难想,就是如果一个点的左右子树都有最大和最小深度的叶子节点,这样交换左右子树也不行 ...
- 洛谷 P2761 软件补丁问题 【spfa】
-为什么最短路的题会出现在网络流24里?? 因为范围是15所以直接把每个状态作为一个点,向它能转移到的点连有向边即可.可以不用建图(据说建图存不下?),直接枚举m个转移方案.位运算比较麻烦注意不要写错 ...