observeOn vs subscribeOn
1.1 subscribeOn 控制上游,observeOn控制下游
Observable.just("1","2","3") //IO 线程
.map(x -> x.length()) //IO 线程
.subscribeOn(Schedulers.io())
.flatMap(x -> Observable.just(x,"pause")) //IO 线程
.observeOn(Schedulers.computation())
.map(x -> someHeavyCaculation(x)) //computation 线程
.subscribe(x -> Log.d(TAG, x)); //computation 线程
1.2 subscribeOn只发生一次,observeOn可以使用多次
如果程序需要多次切换线程,使用多次observeOn是完全可以的。 而subscribeOn只有最上方的subscribeOn会起作用。