我是RxJava的新手,我想我可能会忽略一些非常基本的东西。所以我创建了一个Observable
来执行像这样的长时间运行的I / O任务。现在我想确保订阅者在Android UI线程上收到结果:
Observable.create(new ObservableOnSubscribe<Device>() {
@Override
public void subscribe(@io.reactivex.annotations.NonNull final ObservableEmitter<Device> e) throws Exception {
//Long running task
}
}).subscribeOn(Schedulers.io())
如您所见,我已在Schedulers.io()
执行了长时间运行的任务。如何切换回Android UI线程?
答案 0 :(得分:8)
您必须执行observeOn(AndroidSchedulers.mainThread())
。