5

私はRxJavaRxAndroidを使用しています。構成の変更 (アクティビティのローテーション、言語ロケールの変更など) が発生した場合、オブザーバブルの作業をどのように再開しますか?

オブザーバブルの作業を再開するだけでなく、サブスクライバーがサブスクライブ解除されたときに、発行されたアイテムを保存し、サブスクリプションの直後にすべての保存されたアイテムを発行する必要があります。

たくさんの記事を読みましたが、質問に対する答えが見つかりませんでした。

いくつかの例を見つけましたが、どれも問題を解決しません:

4

3 に答える 3

5

のいずれかを使用できますConnectableObservables。特に、こういうシチュエーションでは重宝しそうですcachereplay

たとえば、アクティビティが破棄されたときにcacheオブザーバブルを呼び出しunsubscribe、アクティビティが再作成された後に再度サブスクライブできます。

于 2015-07-29T23:26:20.417 に答える
1

このような状況に対処する方法を実験するために、デモ アプリケーション ( https://github.com/pmellaaho/RxApp ) を作成しました。基本的に、Activity のシングルトン モデルを使用して、ネットワークからの応答を取得します。これにより、応答のキャッシュ、複数の UI コンポーネントからのデータへのアクセス、保留中の要求へのサブスクライブ、および自動化された UI テスト用のモック データの提供が可能になります。

于 2015-08-28T19:09:11.380 に答える