正在检查一些旧代码,我发现了此代码片段:
@Override
public void onResume() {
if (!isFinishing()) {
...
}
super.onResume();
}
尽管在方法结束时调用了
super.onResume()
,但不鼓励这样做:注意:这些生命周期方法的实现必须始终调用
执行任何工作之前的超类实现,如
上面的例子
http://developer.android.com/guide/components/activities.html
我很担心这个电话,这有意义吗?如我所见,checking activity code
if (!isFinishing())
变量仅在mFinished
和finish()
上设置为true,那么在整个android生命周期中,是否可以恢复正在被破坏的活动?提前谢谢。
最佳答案
对您的问题的答案是“否”活动如果被销毁,则无法恢复。
下面是很好的讨论:
Understanding of isFinishing()
此代码的原因可能是为了区分方向
活动的更改和实际完成此处要注意的重要事项
isfinishing:true,这意味着调用
ondestroy()返回true,即当:
用户点击“后退”按钮或活动的代码调用它isFinishing()
(finish()
当活动在之后关闭时返回false
电话轮换以便再次启动)
http://ogrelab.ikratko.com/activity-lifecycle-explained-in-details/