15

私はこのようなタスクを持っています:

Observable.just(getMessagesFromDb()).
    subscribeOn(Schedulers.newThread()).
    observeOn(AndroidSchedulers.mainThread()).
    subscribe(incomingMessages -> {
    //do something
    });

whereは、内部でマルチスレッド化せずに、同期的にメッセージを取得するgetMessagesFromDbメソッドです。subscribeOn メソッドの RxAndroid ドキュメントによると:

指定されたスケジューラでこのオブザーバブルにオブザーバーを非同期的にサブスクライブします

そして私の質問があります - データベース要求がメインスレッドで実行されるのはなぜですか? 非同期で行う方法は?

4

1 に答える 1