RxJava

RxJava

RxJava的概念

“RxJava is a Java VM implementation of Reactive Extensions:
a library for composing asynchronous and event-based programs by using observable sequences.”
大概就是说RxJava是Java VM上一个灵活的、使用可观测序列来组成的一个异步的、基于事件的库。

特点

(1)观察者模式RxJava用到了设计模式中的观察者模式。支持数据或事件序列,允许对序列进行组合,并 对线程、同步和并发数据结构进行了抽象。
(2)轻量无依赖库、Jar包小于1M
(3)支持多语言支持Java 6+和Android 2.3+。RxJava设计初衷就是兼容所有JVM语言,目前支持的JVM语言有Groovy,Clojure,JRuby, Kotlin和Scala。
(4)多线程支持封装了各种并发实现,如threads, pools, event loops, fibers, actors。
优势

优势

『同样是做异步,为什么人们用它,而不用现成的 AsyncTask / Handler / XXX / … ?』
一个词:简洁。
异步操作很关键的一点是程序的简洁性,因为在调度过程比较复杂的情况下,异步代码经常会既难写也难被读懂。 Android 创造的 AsyncTask 和Handler ,其实都是为了让异步代码更加简洁。RxJava 的优势也是简洁,但它的简洁的与众不同之处在于,随着程序逻辑变得越来越复杂,它依然能够保持简洁。

RxJava+Retrofit 结合使用

1.Rxjava形式的API接口
RxJava
*2.被观察者处理,拿到网络数据
RxJava
3.观察者通过被观察者做出响应
RxJava

扩展网址

https://www.jianshu.com/p/b39afa92807e