这是一个非常简单的问题:
我正在使用相对较新的Lifecycle class(android architecture components libraries的一部分)以更简单的方式处理import * as moment from 'moment';
var diff = moment.duration((moment(762861060)).diff(moment()));
var age_in_days = diff.days();
var age_in_years = diff.years();
的某些事件。
这是处理ON_DESTROY事件的方法:
Activity/Fragment
我在docs和此处都找不到,我应该打电话给 lifecycle.addObserver(object : LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
fun onDestroy() {
lifecycle.removeObserver(this)
//Do something
}
})
还是在ON_DESTROY事件发生时自动完成。
我尝试阅读有关内容,为预防起见,我始终致电removeObserver
。
避免在发生ON_DESTROY事件时调用removeObserver
吗?
答案 0 :(得分:0)
在github上有一个与该主题相关的讨论链。
据我所知,无需显式调用removeObserve
。
唯一的原因是生命周期感知组件是专门为确保此回调而设计的。
您可以参考链接“ https://github.com/googlecodelabs/android-lifecycles/issues/5
答案 1 :(得分:-1)
就我而言,如果您在应用程序中调用lifecycle.addObserver
,则不必调用removeObserver
,当应用程序被销毁时,该进程也会被终止。如果您在活动中调用lifecycle.addObserver
,则需要使用removeObserver
方法调用OnDestroy
。