首先看一个步骤,如果是人为关闭Activity或者Fragment, 比如点击了后退键,主动关闭当前页面,就会走 onPause() --> onStop() --> onDestroy() 而onSaveInstanceState() 并不会被调用. onSaveInstanceState() 只有在系统即将要自动清理销毁Activity或Fragment前才会调用, 比如
1, 由于重力感应 手机从竖屏变为横屏,2, 手机点击Home键和长按Home键
3, 点击电源键锁屏时
4, 从当前Activity跳到另一个Activity
5, 应用内存不足即将自动销毁时等情况
综合上面的情况,可以看出, onSaveInstanceState() 这个方法适合临时保存一些非永久性的数据.如果要持久化保存数据,就要将操作放在onStop(), onDestroy()这些方法中去.onSaveInstanceState() 适合的是当前Activity或者Fragment一旦被系统自己销毁,应用还能在这之前保存一些必要的数据, 并且用户的操作很快又回到当前这个页面,这个时候数据并没有丢失,还能最大程度的恢复之前状态.