RxJava源码解读

Observable<String> observable = Observable.just("hello world");
Consumer<String> consumer2 = new Consumer<String>(){
    @Override
    public void accept(String s) throws Exception {
       System.out.println("Test1" + s);
    }
};
observable.subscribe(consumer2);

我们从最简单的一段代码入手()

Observable.just

RxJava源码解读

实际上just方法就是返回了一个ObservableJust

ObservableJust

RxJava源码解读

Observable.subscribe

RxJava源码解读

创建了一个LambdaObserver观察者

LambdaObserver

RxJava源码解读
主要有onSubscribe,onNext,onError,onComplete方法对应的执行的逻辑是对应的是类构造参数的回调接口

RxJava源码解读
调用了ObservableJust.subscribeActual入参是LambdaObserver
RxJava源码解读
创建了一个ScalarDisposable

ScalarDisposable

RxJava源码解读
先会调用LambdaObserveronSubscribe然后调用ScalarDisposable.run根据上图其实就是调用LambdaObserver.onNext

相关推荐