为什么在使用onSaveInstanceState
开始新活动时调用了startActivity(intent)
,但是当用户从新活动中退回或回家时,onRestoreInstanceState
未被调用?
答案 0 :(得分:1)
当您从活动A导航到活动B时,活动A将调用其onSaveInstanceState()
方法,以防活动A被销毁(因为系统需要释放资源)。< / p>
当您从活动B导航回活动A时,代码可以采用几种不同的路径。如果活动A仍在启动并运行,它将简单地恢复(您将看到onResume()
被调用)。如果您在活动B上时系统销毁了活动A,则需要重新创建活动A.您将看到系统调用onCreate()
(并且其参数savedInstanceState
将为非空并填充您在onSaveInstanceState()
中放入的内容)以及任何其他生命周期方法发生在“onCreate()之后”。