gpt4 book ai didi

android - 处置可观察物

转载 作者:行者123 更新时间:2023-12-02 14:57:23 24 4
gpt4 key购买 nike

这个问题与 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()
}

最佳答案

observable.onComplete() 将完成您的流,因此向所有监听 onComplete 的订阅者触发此事件,您不需要在 onComplete 之后处理流(这自动完成)。

disposable.dispose() 将停止流并且不会触发 complete 事件。

如果您不收听完整事件,则两者都是相同的,因此要回答您的问题,您不需要这两行。

关于android - 处置可观察物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com