写在20110912:中秋节,onSaveInstanceState

onSaveInstanceState()什么时候会被执行呢?
1.当用户按下HOME键:系统不知道你按下HOME键后要运行多少其他的程序,自然也不知道activityA是否会被销毁,故系统会调用onSaveInstanceState(),让用户有机会保存某些非永久性的数据。
2.长按HOME键:此时会弹出历史应用,选择运行其他的程序时。
3.按下电源键(解锁)时。
4.从ActivityA中启动一个新的Activity时。
5.屏幕方向切换时:在屏幕切换之前,系统会销毁ActivityA,在屏幕切换之后系统又会自动的创建ActivityA,所以onSaveInstanceState一定会被执行。
   总而言之,onSaveInstanceState的调用遵循一个重要原则:当系统“未经许可”时销毁了你的Activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须提供一个机会让你保存你的数据。

猜你喜欢

转载自meohao.iteye.com/blog/1907469