The following behavior surprised me. Why is this the case?
Observable.just("test")
.observeOn(AndroidSchedulers.mainThread())
.delay(1, TimeUnit.SECONDS)
.doOnNext(new Action1<String>() { @Override
public void call(String s) {
Log.e("doOnNext", Thread.currentThread().getName());
}
})
.subscribe();
results in:
E/doOnNext﹕ RxComputationThreadPool-1
(unexpected behavior)
Swapping delay and observeOn:
Observable.just("test")
.delay(1, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(new Action1<String>() { @Override
public void call(String s) {
Log.e("doOnNext", Thread.currentThread().getName());
}
})
.subscribe();
results in:
E/doOnNext﹕ main
(expected behavior)
The following behavior surprised me. Why is this the case?
results in:
E/doOnNext﹕ RxComputationThreadPool-1(unexpected behavior)
Swapping delay and observeOn:
results in:
E/doOnNext﹕ main(expected behavior)