Android-RxJava2
天元!突破
人人有功练!!!
展开
-
RxJava2 源码分析(一)
这是第二次写源码分析,之前的一次已经是一年前了。为何要重写?主要是由于今天看到了一些关于线程池的东西,我联想到了RxJava2中的线程分类。再想到项目中的线程池相关的地方,感觉很乱,所以有一个整合的想法,想将原来自己创建的线程池替换成RxJava2中的线程池,于是就有了翻看源码的心思。择日不如撞日,反正是看源码,顺便把以前的东西再整理一下,还有就是以前写的东西,思路太乱,看着不舒服。回想起...原创 2019-04-26 09:02:12 · 230 阅读 · 0 评论 -
RxJava2 源码分析(二)
目的这篇文章的主要目的就是弄清楚链式调用与线程切换。如果你读懂了第一篇文章,这篇文章阅读起来还是非常简单的。因为链式调用和线程切换无非就是多了些 “数据源-观察者” 对。线程切换还涉及到线程池相关的东西,由于篇幅问题,线程池相关的东西会放到下一篇。从一个例子开始: // 观察者 -- 蝙蝠侠 val observerBatMan = object : Obs...原创 2019-04-26 09:13:28 · 225 阅读 · 0 评论 -
RxJava2 源码分析(2.5)
目的分析 IoScheduler 类。首先要说明的是,RxJava2 中虽然使用到了 Java 的线程池,但是还有很多其他的东西,比如,接下来你就会看到 IoScheduler 中自己实现一个简单的线程池。从内部类开始IoSchedulerIoScheduler 源码不长,但是它有3个内部类,我们从内部类开始,因为每个内部类的功能都是比较单一的,分析起来很方便,知道了内部类的作用,外部类...原创 2019-04-26 09:22:28 · 177 阅读 · 0 评论 -
RxJava2 源码分析(三)
目的本篇主要分析 RxJava2 中的线程池与线程调度时的源码流程。顺便介绍RxJava2中常用的几个线程池。上一篇文章,我们的demo中,指定线程时,使用的是 Schedulers 这个类。那我们直接从这个类入手。Schedulers.java/** * Static factory methods for returning standard Scheduler instanc...原创 2019-04-26 09:24:44 · 131 阅读 · 0 评论 -
RxJava2 源码分析(四)
目的本文主要分析操作符的实现原理,关于操作符的使用不做讲解,想了解的可以参考Github上的例子项目以及官方文档。从一个例子开始这里我们以最常用的 map 为例。首先我们写一个demo:Demo这个demo演示了如何将一个int转成string。Kotlin 赛高!!!虽然看起来没有什么屌用,但是如果int值是一个图片的资源id,我们要将这个id转成一个Bitmap,那么也可以用ma...原创 2019-04-26 11:38:06 · 132 阅读 · 0 评论 -
RxJava2 源码分析(五)
目的分析Flowable的相关源码,了解一下背压的知识。从例子开始demo Flowable .create<Int>({ it.onNext(1) it.onNext(2) it.onComplete() ...原创 2019-04-26 17:07:13 · 194 阅读 · 0 评论