![](/img/trans.png)
[英]Android : Order of DialogFragments changing after Activity is resumed
[英]Can an Android Activity be resumed after finish()?
检查一些遗留代码我发现这个片段:
@Override
public void onResume() {
if (!isFinishing()) {
...
}
super.onResume();
}
尽管在方法结束时调用了super.onResume()
,但不鼓励:
注意:在执行任何工作之前,您对这些生命周期方法的实现必须始终调用超类实现,如上面的示例所示http://developer.android.com/guide/components/activities.html
我关注if (!isFinishing())
调用,这有意义吗? 我可以看到检查活动代码mFinished
变量仅在finish()
和finishActivity()
上设置为true,可以通过Android生命周期恢复正在销毁的活动吗?
提前致谢。
你回答的问题是“不”活动如果被销毁就无法恢复。
这是一个很好的讨论: 了解isFinishing()
这段代码的原因可能是区分方向更改和活动的实际完成。重要的是要注意这里isFinishing:true表示在onDestroy()中调用
isFinishing()
()会返回true,即在以下情况下发生:用户点击“返回”按钮或活动的代码调用它的
finish()
(isFinishing()
在电话轮换后活动关闭时返回false,以便再次启动)
http://ogrelab.ikratko.com/activity-lifecycle-explained-in-details/
最后,遗留代码在onCreate()
方法的某些环境下调用finish()
。 但是看看onCreate()
javadoc :
您可以在此函数中调用finish(),在这种情况下,将立即调用onDestroy(),而不执行任何其余的活动生命周期(onStart(),onResume(),onPause()等)。
所以,这个isFinishing()
调用在onResume()
里面没用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.