我知道所有缓存可观察项都会将发出的项目放在内存中,以避免重新启动任务,并将缓存项目发送给新订阅者。但是我发生的事情是我在后台运行任务,任务进度通过进度条通知用户,进度条通过缓存可观察的方式接收进度。当我旋转设备并再次进行订阅时,所有任务再次开始。我只是想在实验之后保持配置变化。
答案 0 :(得分:0)
您仍然需要一种机制来在屏幕旋转期间保持Observable,cache()
运算符仅适用于该Observable实例。
我建议使用保留的片段来保留您的Observables。您也可以使用静态HashMap来存储Observable,但是需要特别注意清理它们。