RxJava2.x学习初步总结

RxJava解决的问题

I) 使用RxJava2必须明确的几个概念

1.观察者:Observer,

监视着被观察者的行为,当被观察者某个状态改变的时候会通知观察者,观察者会执行对应的操作;

2.被观察者:Observable

被监视的对象,当某个状态改变的时候会通知观察者;

3.订阅.subscribe()

使观察者和被观察者之间建立联系。

初级用法:

1
Observer ---订阅---> Observable: 通过subscribe()事件 订阅

进阶用法:
Subscriber要与Flowable(也是一种被观察者)联合使用

1
Subscriber ---订阅--->Flowable: 通过subscribe()事件 订阅

关键回调事件:
onCompelte() 成功完成
onError() 出错
onDisposable() 解除订阅

II) Scheduler线程调度器的概念:
在不指定线程的情况下, 遵循线程不变的原则, 即调用/生产/消费在同一线程.
需要使用Scheduler指定执行线程.
常用的API:
Schedulers.io() 网络/文件读写/数据库读写操作
AndroidSchedulers.mainThread() UI线程, 需配合RxAndroid库

III) Flowable及backpressure策略:
request()方法定义观察者的消费能力;背压事件处理策略Error,Buffer,Drop,Latest

IV) AS3.0版本后直接支持lambda语法,使用lambda表达式简化RxJava