我对onActivityResult中的Activity状态有疑问。具体来说,是否“保证”onAestoreInstanceState或onCreate在onActivityResult之前调用了一个Activity?换句话说,假设在onActivityResult中(假设您已正确处理onRestoreInstanceState和/或onCreate),可以安全地假设Activity的状态数据(成员变量等)是“可用的”?
答案 0 :(得分:18)
在我的应用中,我得到以下工作流程:
onCreate
onStart
onRestoreInstanceState
onActivityResult
onResume
所以,在onActivityResult
之后调用是onRestoreInstanceState
,所以你可以指望状态已经完全恢复(除非你在onResume
中做了事。)
如果你的Activity在后台没有被操作系统杀死,那么我认为它的状态是相同的,所以你没什么可担心的。 :)
答案 1 :(得分:-1)
使用startActivityForResult启动另一个活动的活动是完全活动的,只是它失去了焦点 - 即它没有接收到触摸输入。如果您使用此方法启动透明活动,您可以看到第一个活动仍然在后台执行其动画等。