Activity 生命周期
Activity 类中定义了 7 个回调方法,来对应 Activity 生命周期的每一个环节。
方法名 | 对应生命周期 |
---|---|
onCreate() | 在 Activity 第一次被创建时调用,可以在这个方法中完成 Activity 的初始化操作。(加载布局,绑定事件等) |
onStart() | 由不可见变为可见时调用 |
onResume() | Activity 准备好与用户交互时调用,此时 Activity 位于栈顶 |
onPause() | 在启用或恢复另一个 Activity时调用 |
onStop() | 当这个方法完全不可见的时候调用 |
onDestory() | Activity 被销毁前调用 |
onRestart() | 由 stop 状态变为 运行状态之前调用 |
生命周期示意图
多页面中生命周期的变化
案例: Activity A 跳转到 Activity B 生命周期的变化
分析
-
在 A 中启动 B,因为要启动其他 Activity。调用 onPause()
-
此时 A 仍然可见,B 不可见。调用 B 的 onCreate()
-
此时 B 由不可见变为可见,调用 B 的 onStart()
-
此时 B 位于栈顶,准备和用户交互,调用 B 的 onResume()
-
此时 A 不可见,调用 A 的 onStop()
案例: 从 Activity B 返回 Activity A 生命周期的变化
分析
-
从 B 回到 A,因为要启动其他 Activity。调用 B 的 onPause()
-
此时 A 为 onStop() 状态,因为要重新启用 A 调用 A 的 onRestart()
-
调用 A的 onStart()
-
此时 A 位于栈顶,准备和用户交互,调用 A 的 onResume()
-
此时 B 不可见,调用 B 的 onStop()
-
B 即将被销毁,调用 B 的 onDestory()