Activity 生存周期
方法 | 描述 | 可被杀死? | 下一步 | ||
---|---|---|---|---|---|
|
当Activity第一次启动时被创建. 这里应该放置你的一些静态设置,诸如创建View、向list绑定数据等等的一些初始化工作。 这个方法可以通过一个Bundle对象来恢复此Activity之前的状态。
下一个生命状态是 |
否 | onStart() |
||
|
在activity已停止活动,再次启动前调用。 下一个生命状态是 |
否 | onStart() |
||
|
在activity被用户可见之前调用。
如果acitivity在前台,也就是被用户可见, 那么下一个生命状态是 |
否 | onResume() 或 onStop() |
||
|
activity与用户交互之前会被调用。 这时候activity处于栈顶。 下一个生命状态是 |
否 | onPause() |
||
|
当系统即将开始恢复另一个Acitivity时被调用。这个方法通常被用来存储一些状态,播放activity的停止动画以及其他一些可能会消耗cpu资源的事情。 这个方法的运行时间不宜过长,因为直到这个方法结束,下一个activity才会被调用。
如果activity恢复到前台,那么下一步就是 |
是 | onResume() 或 onStop() |
||
|
如果activity不再被用户可见,就进入这一状态。这有可能发生在onDestroy()之前,或者另一个activity被回复并完全覆盖了当前activity。
如果activity又要与用户产生交互,下一个生命状态是 |
是 | onRestart() 或 onDestroy() |
||
|
在activity销毁之前调用。如果显式调用 方法,也会进入这种状态。 |
是 | 无 |
一个acitivty设计到状态保存的也就这两种情况,第一个是不需要开发者主动保存状态(左),因为它就没有被销毁,另一种就需要主动保存状态了,它已经被销毁(右)。
在guide中也说得很明白 只要android:id
设置了,框架会帮你存储一些数据并恢复的。