需要在activity的onDestroy()方法中调用subject的onComplete()吗?

Do we need to call onComplete() of subject in onDestroy() method of activity?

如果在ActivityA中,它保持对

的引用
private val subjectA: PublishSubject<ObjectB> = PublishSubject.create()
private var dispose: Disposable? = null

是否需要在Activity

的onDestroy()方法中调用subject的onComplete()方法
override fun onDestroy() {
    subjectA.onComplete()
    dispose?.dispose()
    super.onDestroy()
}

不需要(也不应该调用)在 Activity/fragment 的 onDestroy 中调用 onComplete 因为它用于发出数据传输完成的流,并且当视图被销毁时,它与 completion.You 不同,因为 Dispose 是一个不同的用例,应该只处理 Disposable 并停止任何进一步的基于推送的通知,而不是告诉观察者 onError/onComplete.

来自文档:

Notifies the Observer that the Observable has finished sending push-based notifications.

要了解 dispose 和 complete 之间的区别,请参阅下面 link 的内容: