作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题与 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/
当我在我的 Angular 应用程序中创建一个常量时,我想访问一个 $injectable。 这样的事情可能吗?注入(inject)剂如何申报? myApp.constant('myCon
我正在尝试提取称为tests.stats()的个人功能的输出 我用return语句创建一个函数: return(c(list.test.1, list.test.2 ,list.test.3,
我是一名优秀的程序员,十分优秀!