【发布时间】:2018-02-14 22:25:27
【问题描述】:
请参阅以下 kotlin 代码:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
val disposable = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread())
.subscribe { textView.text = it.toString }
}
}
在这里,我在 subscribe 方法中传递 lambda 表达式,而不是匿名内部类。那么是否需要调用disposable.dispose() 以防止内存泄漏?否则 lambda 表达式不会保留对 MainActivity 类实例的隐式引用。
如果我确实需要处理它,最好的方法是什么?为什么?
【问题讨论】:
标签: android lambda memory-leaks kotlin rx-java