Rxjava,android生命周期和缓存操作符中的重复缓存可观察

时间:2015-12-22 00:55:36

标签: android rx-java

好吧,伙计们。我是那些RxJava主题的新手。我正在使用缓存操作符,以便在设备尝试配置更改时重新注册订户。我的问题是,每次缓存可观察性接收订阅时,observable都会再次启动所有进程。

我知道所有缓存可观察项都会将发出的项目放在内存中,以避免重新启动任务,并将缓存项目发送给新订阅者。但是我发生的事情是我在后台运行任务,任务进度通过进度条通知用户,进度条通过缓存可观察的方式接收进度。当我旋转设备并再次进行订阅时,所有任务再次开始。我只是想在实验之后保持配置变化。

1 个答案:

答案 0 :(得分:0)

您仍然需要一种机制来在屏幕旋转期间保持Observable,cache()运算符仅适用于该Observable实例。

我建议使用保留的片段来保留您的Observables。您也可以使用静态HashMap来存储Observable,但是需要特别注意清理它们。