如果在活动 A 中,它会保留对
private val subjectA: PublishSubject<ObjectB> = PublishSubject.create()
private var dispose: Disposable? = null
我们是否需要在 onDestroy(( 活动方法中调用主题的 onComplete(( 方法
override fun onDestroy() {
subjectA.onComplete()
dispose?.dispose()
super.onDestroy()
}
没有必要(也不应该调用(在活动/片段onDestroy
调用onComplete
,因为它用于发出数据传输已完成的流,当视图被销毁时,它与完成不同。您应该将一次性处理为不同的用例,并停止任何进一步的基于推送的通知,而不是告诉观察者 onError/onComplete。
从文档:
通知观察者可观察量已完成发送 基于推送的通知。
要了解处置和完成之间的区别,请参阅以下链接:
- 一次性引擎盖下
- RxJava:Single, May and Compleable