用户在活动
A
的基础上启动了活动
B
,活动
A
就进入了停止状态,这个时候由于系统内存不足,将活动
A
回收掉了,然后用户按下
Back
键返回活动
A
,会出现什么情况呢?其实还是会正常显示活动
A
的,只不过这时并不会执行
onRestart()
方法,而是会执行活动 A 的 onCreate()方法 。
这时有一个问题:保存的临时数据和状态都没了。
解决方案:onSaveInstanceState()方法会携带一个 Bundle 类型的参数,Bundle 提供了一系列的方法用于保存数据。
在onCreate时也有一个 Bundle 类型的参数,可以传入保存的数据。