私はこのようなタスクを持っています:
Observable.just(getMessagesFromDb()).
subscribeOn(Schedulers.newThread()).
observeOn(AndroidSchedulers.mainThread()).
subscribe(incomingMessages -> {
//do something
});
whereは、内部でマルチスレッド化せずに、同期的にメッセージを取得するgetMessagesFromDb
メソッドです。subscribeOn メソッドの RxAndroid ドキュメントによると:
指定されたスケジューラでこのオブザーバブルにオブザーバーを非同期的にサブスクライブします
そして私の質問があります - データベース要求がメインスレッドで実行されるのはなぜですか? 非同期で行う方法は?