2015-12-22 38 views
0

Huy guys。我是那些RxJava主題的新手。我正在與緩存操作員一起工作,以便在設備嘗試更改配置時重新註冊訂戶。我的問題是,每當緩存observable接收訂閱時,observable將再次啓動所有進程。在Rxjava,android生命週期和高速緩存運算符中可觀察重複緩存

我知道,所有緩存可觀察到的洞,內存中的發射項目,以避免重新啓動任務,只是發送緩存項目給新的用戶。但是發生在我身上的是我有一個任務在後臺運行,任務進度通過一個進度條通知用戶,進度條通過緩存可觀察的方式接收進度。當我旋轉設備並再次執行訂閱時,所有任務都會重新開始。我只是想在實驗配置更改後保持它的重點。

+0

爲了獲得更多幫助,我們需要一些代碼。 – davejal

回答

0

您仍然需要一種機制來在屏幕旋轉期間保持Observable,cache()運算符僅用於該可觀察實例。

我建議使用保留的片段來保存您的Observables。您也可以使用靜態HashMap來存儲Observables,但您需要特別小心清理它們。

+0

嗨,大家好,非常感謝您回覆我的請求。但是我錯過了我實現中的一個重要部分,我沒有重複使用我同時緩存和保存的同一個觀察值。所以一切正常。 – Leo