原创专栏RxJava源代码剖析
Posted 猿人部落
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创专栏RxJava源代码剖析相关的知识,希望对你有一定的参考价值。
首先我很先来看看我剖析例子的
可以看见我以一列Integer作为事件源,然后在create()中的OnSubscribe中循环发送事件item。
然后我调用了map(),里面的逻辑是将Integer转换成String。
然后我调用了filter(),里面的逻辑是只输出含有“1”的String。
最后我输出了所有产生的String。
如果大家对于RxJava的基本 用法有什么不清楚的地方,可以去看我上一篇分享的关于RxJava入门的博客。
然后我们就要进行源码剖析了,不过我们先来看看图中需要注意到地方。
如图大家要记清楚这几个线代表的含义,这样才能看得懂后面图中的分析。
然后要总结一句就是:RxJava的一切操作符都是基于lift()函数,所以了解了lift()函数,可以说你就已经入门了RxJava
废话不多说上图
代码的解析文字都在图中,起点是左上角的红字"开始"。大家可以从这里一步步深入。
推荐的阅读方式:以粉红色的线为主干推进,绿色的分支为辅助。如果哪个源码不懂,就看黑色线所连接的代码解释。看到回调之后,即红色的线的时候,需要异常注意。最后的结束是在右下角。
注意事项:
1. 代码的运行不是按照顺序来的,所以有些剖析的代码片段我没有写全,而是在调用的时候写全。
2.有些比较长的源码,我精简了只剩必须的逻辑,所以在读者自己进入源码的时候,可能会发现不一样。
如果你把上面的解析仔仔细细的看了一遍,我相信你已经对RxJava已经有了比较深入的了解。不过要玩玩全全了解的话你还需要多看几遍,并且自己也进去看看。
接下来是最后一餐:简略的示意图
相信看完上面的解析,看这个还是很简单的
PS:文章版权归作者个人所有,如需转载请授权。
点击阅读原文加入猿人部落 内测群
talk is cheap. show me the code.
编程没思路?
bug搞不定?
上#猿人部落#
业余参与技术内测以及技术问题极速解答!
点击阅读原文加入 猿人部落内测群
-长按扫描关注微信-
☟点击 阅 读 原 文 加入 猿人部落内测群
以上是关于原创专栏RxJava源代码剖析的主要内容,如果未能解决你的问题,请参考以下文章