Activity 的生命周期:
生命周期函数 | 调用时机 |
onCreate | 在Activity对象被第一次创建时调用 |
onStart | 当Activity 变得可见是调用该函数 |
onResume | 当Activity开始准备与用户交互时调用该方法 |
onPause | 当系统即将启动另外一个Activity之前调用该方法 |
onStop | 当前Activity变得不可见时调用该方法 |
onDestroy | 当前Activity被销毁之前将会调用该方法 |
onRestart | 当一个Activity再次启动之前将会调用该方法 |
两个Activity间的切换跳转时,生命周期函数的变化
ActivityA 与ActivityB之间进行切换时,ActivityA作为默认的启动页面。ActivityA中的布局文件就一个跳转按钮,点击跳转到ActivityB,ActivityB的布局文件也是只有一个返回按钮,点击返回到ActivityA中。
在生命周期函数中打上Log,就可以清楚地看到运行是生命周期函数变化过程。
当启动运行程序时,过程如下:
MainActivityA:onCreate —>在ActivityA对象被第一次创建时
MainActivityA:onStart —>ActivityA变得可见
MainActivityA:onResume —>开始准备与用户交互时调用
此时点击ActivityA中的按钮时:
MainActivityA:onPause —>即将启动另外一个ActivitB之前
OtherActivityB:onCreate —>在ActivityB对象被第一次创建时
OtherActivityB:onStart —>ActivityB变得可见
OtherActivityB:onResume —>开始准备与用户交互时调用
MainActivityA:onStop —>当前ActivityA变得不可见时
点击ActivityB中的返回按钮时 :
OtherActivityB:onPause —>即将启动另外一个ActivitB之前
MainActivityA:onRestart —>ActivityA再次启动之前
MainActivityA:onStart —>ActivityA变得可见
MainActivityA:onResume —>开始准备与用户交互时调用
OtherActivityB:onStop —>当前ActivityB变得不可见时
OtherActivityB:onDestroy —>当前ActivityB被销毁之前
MainActivityA:onStop —>当前ActivityB变得不可见时
MainActivityA:onDestroy —>当前ActivityB被销毁之前