这个问题与 Android 和生命周期有关。以前,我会拥有一系列主题并在创作时订阅它们。
销毁后,我会将所有主题标记为完整,假设它处理了所有订阅者。
使用 Android Studio 3.1,我会收到任何“未使用”的订阅者的警告。解决方案是将它们添加到“可完成的一次性”中,然后在销毁时将其丢弃。
“复合一次性”是我需要在销毁时正确取消请求的全部内容吗?我以前将主题标记为完整的方法有什么作用吗?在这种情况下是否有必要?
作为代码示例:
val observable: PublishSubject<Int> = PublishSubject.create()
val disposable = observable.subscribe { /* subscription */ }
fun onDestroy() {
observable.onComplete() // is this line necessary or helpful?
disposable.dispose()
}