どのスレッドがunsubscribeOnであるのですか?指定されていないにもかかわらず、subscribeOnのスレッドはまだ指定されていない場合はデフォルトになっていますか? subscribeOnで使用されているものと同じスレッドであっても、サブスクリプションを解除するスレッドを指定する必要がありますか?unSubscribeOnとはどのスレッドが呼び出されていますか?私たちはそれを呼びますか?
また、アンサブスクリプションで同じ2つのスニペットが実行されていますか?
オプション1:
mSubscription.add(myAppProvider
.getSomeData()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(Schedulers.io())
.subscribe(data -> handleData(data),
throwable -> handleError(throwable)
));
オプション2:
mSubscription.add(myAppProvider
.getSomeData()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(data -> handleData(data),
throwable -> handleError(throwable)
));
私はRx-Java docsを見てなかったけど、彼らは唯一の(observeOn
なしと)subscribeOn
なければunSubscribeOn
お返事ありがとうございます。私はunSubscribeOnが起こっているスレッドの説明が好きです。しかし、このサンプルは私がテスト用に作成したサンプルで示したようには機能しません。私にとっては、同じスレッドでも購読解除が行われています。 '1'。私はそれを受け入れることができるようにあなたのコードを修正したいですか?もう1つは、あなたが言及した 'ドキュメント'は実際にはサンプルであるということです。実際のRx-Javaドキュメントではありません。実際のドキュメントはhttp://reactivex.io/intro.htmlです。 – achie
ああ、良いキャッチ - うん、確かに実際のドキュメントではない。スレッドをチェックするために使用している完全なコードを投稿できますか? – drhr
ええ、私はあなたの答えを更新するために使用することができるように別の答えとして追加します。私のアプローチで何か間違いをしている場合は、それを修正するかもしれません:) – achie