3

这是一个非常简单的问题:

背景

我正在使用相对较新的Lifecycle 类android 架构组件库的一部分)以更简单的方式处理一些事件Activity/Fragment

这是您使用它来处理ON_DESTROY事件的方式:

            lifecycle.addObserver(object : LifecycleObserver {
                @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
                fun onDestroy() {
                    lifecycle.removeObserver(this)
                    //Do something
                }
            })

问题

我在文档和这里都找不到,无论我应该打电话removeObserver还是在ON_DESTROY事件时自动完成。

我试过的

我试图阅读它,现在作为预防措施,我总是打电话给removeObserver.

问题

避免调用removeObserverON_DESTROY事件是否安全?

4

2 回答 2

5

在 github 上有一个与此主题相关的讨论链。

据我所知,无需removeObserve显式调用。

唯一的原因是生命周期感知组件是专门为确保回调而设计的。

听到的是你可以参考的链接,https://github.com/googlecodelabs/android-lifecycles/issues/5

于 2018-08-16T10:08:25.680 回答
-1

在我的观点中,如果你调用lifecycle.addObserver应用程序,你不必调用removeObserver,当应用程序被销毁时,进程也会被杀死。如果你调用lifecycle.addObserver一个活动,你需要调用removeObserver方法OnDestroy

于 2018-08-16T08:03:48.747 回答