我在我的Fragment中使用RxJava ReplaySubject。如果对RxJava主题进行onComplete调用,是否需要再次手动取消订阅?
我试图以一种方式使用ReplaySubject,我希望主体执行一个进程直到完成(可能超出片段的生命期)。
完成该过程后,我想释放资源 - 据我了解 - 通过在注册观察者(在我的情况下,是主题本身)时取消订阅来完成。
在这种github issue thread @benjchristensen说:
如果它是可观察到的,那么它应该发出onCompleted和完成。
如果它是一个观察者,那么当它调用Observable.subscribe时,它应该取消订阅它收到的订阅,它将使Observable有机会关闭和清理。
如果它是一个主题 - 既是观察者又是观察者 - 这是什么行为?如果我在主题上调用onComplete,这是否意味着订阅已停止,因此我无需手动取消订阅通过注册观察者获得的订阅?
ReplaySubject上的好点。 – 2014-09-04 08:05:15
这是否也适用于.cache和.replay转换的observables? – Zardoz 2016-07-15 14:23:55
这是在文档中提到的地方吗?我在今天花了1个小时才找到这个线程。 – 2017-02-08 16:38:39