正在检查一些旧代码,我发现了此代码片段:

@Override
public void onResume() {
    if (!isFinishing()) {
        ...
    }
    super.onResume();
}

尽管在方法结束时调用了super.onResume(),但不鼓励这样做:
注意:这些生命周期方法的实现必须始终调用
执行任何工作之前的超类实现,如
上面的例子
http://developer.android.com/guide/components/activities.html
我很担心这个电话,这有意义吗?如我所见,checking activity codeif (!isFinishing())变量仅在mFinishedfinish()上设置为true,那么在整个android生命周期中,是否可以恢复正在被破坏的活动?
提前谢谢。

最佳答案

对您的问题的答案是“否”活动如果被销毁,则无法恢复。
下面是很好的讨论:
Understanding of isFinishing()
此代码的原因可能是为了区分方向
活动的更改和实际完成此处要注意的重要事项
isfinishing:true,这意味着调用
ondestroy()返回true,即当:
用户点击“后退”按钮或活动的代码调用它isFinishing()
finish()当活动在之后关闭时返回false
电话轮换以便再次启动)
http://ogrelab.ikratko.com/activity-lifecycle-explained-in-details/

08-05 23:12