RxJava有几个重要关键字,即函数响应式编程,观察者模式,事件发射,消费等等。以下这段话摘自其他文章Android 响应式编程 RxJava2 完全解析。鸣谢作者。
响应式编程的组成为Observable/Operator/Subscriber,RxJava在响应式编程中的基本流程>如下:
这个流程,可以简单的理解为:Observable -> Operator1 -> Operator2 -> Operator3 -> Subscriber
- Observable发出一系列事件,他是事件的产生者;
- Subscriber负责处理事件,他是事件的消费者;
- Operator是对Observable发出的事件进行修改和变换;
- 若事件从产生到消费不需要其他处理,则可以省略掉中间的Operator,从而流程变为 Obsevable -> Subscriber;
- Subscriber通常在主线程执行,所以原则上不要去处理太多的事务,而这些复杂的处理则交给Operator;
假如中间没有Operator,流程只有Observable到Subscriber,那么画UML类图,跟踪源码,来看函数执行顺序。
Observable.create(new ObservableOnSubscribe<IDAL>() {
@Override
public void subscribe(ObservableEmitter<IDAL> emitter) throws Exception {
IDAL idal;
try {
idal = NeptuneLiteUser.getInstance().getDal(application);
} catch (Exception e) {
LogUtil.e(e);
throw e;
}
if (!emitter.isDisposed