Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于
onCreate()、onPause()等生命周期中的方法,它们并不一定会被触发。
当应用遇到意外情况由系统销毁一个Activity时,onSaveInstanceState()才会被调用,例如在应用中,直接按Home键,或者是打电话过来了等等。
但是当用户去操作销毁一个Activity时例如在应用中按返回键,onSaveInstanceState()就不会被调用。
在这种情况下,用户的行为决定了状态不需要被保存。因为onSaveInstanceState()不会经常被调用,所以只应该用它来保存一些临时的状态,而在onPause()里做数据的持久化操作。
在游戏中经常遇到这种情况!