为什么在启动新活动时调用onSaveInstanceState?

时间:2017-07-26 01:21:57

标签: android

为什么在使用onSaveInstanceState开始新活动时调用了startActivity(intent),但是当用户从新活动中退回或回家时,onRestoreInstanceState未被调用?

1 个答案:

答案 0 :(得分:1)

当您从活动A导航到活动B时,活动A将调用其onSaveInstanceState()方法,以防活动A被销毁(因为系统需要释放资源)。< / p>

当您从活动B导航回活动A时,代码可以采用几种不同的路径。如果活动A仍在启动并运行,它将简单地恢复(您将看到onResume()被调用)。如果您在活动B上时系统销毁了活动A,则需要重新创建活动A.您将看到系统调用onCreate()(并且其参数savedInstanceState将为非空并填充您在onSaveInstanceState()中放入的内容)以及任何其他生命周期方法发生在“onCreate()之后”。