android - 是否必须从 Android 生命周期中删除自己的观察者身份?

标签 android android-lifecycle activity-lifecycle

我正在构建一个实现 LifecycleObserver 的 Android Java 类界面。

这是构造函数:

public MyObserver(AppCompatActivity activity) {
    this.mActivity = new WeakReference<AppCompatActivity>(activity);
    activity.getLifecycle().addObserver(this);
}

有必要调用removeObserver吗? ,使用类似的东西:

@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
public void destroyListener() {
    if (this.mActivity.get() != null) {
        this.mActivity.get().getLifecycle().removeObserver(this);
    }
}

或者,我可以永远观察吗?

最佳答案

TL;DR:不。

根据这个link here ,用户在 android-lifecycles Github 存储库中询问了您的问题。 Google 开发人员对这个问题的回答是:

Yes, that's the whole point of the new lifecycle-aware components, no need to unsubscribe/remove observers.

关于android - 是否必须从 Android 生命周期中删除自己的观察者身份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47656728/

相关文章:

android - Android自动识别Java Card

Android:应用程序的生命周期

android - 如何从 EditText Android 获取值

Android:检查 Activity 是否被系统从服务中销毁

android - 如何更改android slidingdrawer handle 按钮位置

java - 我的一个类(class)的子类(class)列表

android - 如何使用 android HttpRequest 在 Android onPause 中保存状态

java - 如何在 finish() 中开始一个 Activity

android - 当实际调用 onStop 时

android - Media Session Compat 未在 Pre-Lollipop 上显示锁屏控件