使用Android Jetpack生命周期感知功能代替isFinishing isDestroyed函数?

时间:2019-12-18 00:00:59

标签: android android-lifecycle android-jetpack

我对在代码库中使用Lifecycle函数感兴趣。但是,我试图了解使用诸如isFinishing()之类的检查的区别,或者是否应该使用新的生命周期感知功能IE:

if(activity.getCurrentState().isAtLeast(Lifecycle.State.CREATED))

看看Google diagram,我们将在开始完成活动之前将状态从RESUMED更改为CREATED。如果允许使用生命周期感知功能,以这种方式进行的利弊是什么?

改变的想法:

private void hideDialog() {
    if (mDialog != null && mDialog.isShowing() && !mActivity.isFinishing() && !mActivity.isDestroyed()) {
             mDialog.dismiss();
    }
}

类似于:

private void hideDialog() {
    if (mDialog.isShowing() &&  Lifecycle.State.RESUMED.equals(mProcessLifecycleOwner.getLifecycle().getCurrentState())) {
             mDialog.dismiss();
    }
}

但是,我没有看到这样使用生命周期感知功能的任何示例。这样做的利弊是什么?

0 个答案:

没有答案