Extra:
a、onSaveInstanceState:
- 此方法在 activity 不可见时做一些保存操作;但只是在可能会重新显示的时候才会被调用,如:旋转屏,或页面跳转,但是在 页面销毁时不会被调用;
- 在 onStop 之后被调用。
b、onRestoreInstanceState:
- 此方法和 onSaveInstanceState 是成对的操作(但不一定同时被调用);只是在被 重新初始化的时候才会被调用;
- 在 onStart 之后被调用。
c、standard模式下,在 activity 见进行页面跳转时,先执行当前(正在显示)的 onPause 方法,然后走 新 Activity 的创建方法,在创建结束并显示之后,才开始执行上一个的 onPause 和 onSaveInstanceState 方法。
一、启动模式:standard,不添加额外属性
1、只有一个 activity:
1.1、打开 -->> 关闭:
com.***.matanalyze D/activity__A__217895308: onCreate:
com.***.matanalyze D/activity__A__217895308: onStart:
com.***.matanalyze D/activity__A__217895308: onResume:
(-- 返回关闭操作 --)
com.***.matanalyze D/activity__A__217895308: onPause:
com.***.matanalyze D/activity__A__217895308: onStop:
com.***.matanalyze D/activity__A__217895308: onDestroy:
1.2、打开 -->> 进入到后台 -->> 回到前台:
com.***.matanalyze D/activity__A__217895308: onCreate:
com.***.matanalyze D/activity__A__217895308: onStart:
com.***.matanalyze D/activity__A__217895308: onResume:
(-- 开始进入后台操作 --)
com.***.matanalyze D/activity__A__217895308: onPause:
com.***.matanalyze D/activity__A__217895308: onStop:
com.***.matanalyze D/activity__A__217895308: onSaveInstanceState:
(-- 返回前台操作 --)
com.***.matanalyze D/activity__A__217895308: onRestart:
com.***.matanalyze D/activity__A__217895308: onStart:
com.***.matanalyze D/activity__A__217895308: onResume:
1.3、打开 —>> 旋转屏幕
com.***.matanalyze D/activity__A__217895308: onCreate:
com.***.matanalyze D/activity__A__217895308: onStart:
com.***.matanalyze D/activity__A__217895308: onResume:
(-- start 旋转屏幕操作 --)
com.***.matanalyze D/activity__A__217895308: onPause:
com.***.matanalyze D/activity__A__217895308: onStop:
com.***.matanalyze D/activity__A__217895308: onSaveInstanceState:
com.***.matanalyze D/activity__A__217895308: onDestroy:
com.***.matanalyze D/activity__A__159201920: onCreate:
com.***.matanalyze D/activity__A__159201920: onStart:
com.***.matanalyze D/activity__A__159201920: onRestoreInstanceState:
com.***.matanalyze D/activity__A__159201920: onResume:
(-- 返回-退出操作 --)
com.***.matanalyze D/activity__A__159201920: onPause:
com.***.matanalyze D/activity__A__159201920: onStop:
com.***.matanalyze D/activity__A__159201920: onDestroy:
2、两个 standard 跳转:
2.1、A -->> B -->> 返回到 A -->> 返回退出 A
com.***.matanalyze D/activity__A__134269277: onCreate:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
(-- 点击跳转到 B 操作 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze E/activity__B__7043704: onCreate:
com.***.matanalyze E/activity__B__7043704: onStart:
com.***.matanalyze E/activity__B__7043704: onResume:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onSaveInstanceState:
(-- 从 B 返回到 A 操作 --)
com.***.matanalyze E/activity__B__7043704: onPause:
com.***.matanalyze D/activity__A__134269277: onRestart:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
com.***.matanalyze E/activity__B__7043704: onStop:
com.***.matanalyze E/activity__B__7043704: onDestroy:
(-- 从 A 返回,并退出操作 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onDestroy:
二、启动模式:singleTop
2.1、A 打开 新的A
onCreate --> onStart --> onResume -
-->> 跳转 -->> onPause --> onResume
-->> 返回退出 -->> onPause --> onStop --> onDestroy
2.2、A 打开 B,再返回到 A,再返回退出
(Note: B的启动模式为 standart 和 SingleTop 时,都为如下过程-此处仅指当前的3步操作)
com.***.matanalyze D/activity__A__131364660: onCreate:
com.***.matanalyze D/activity__A__131364660: onStart:
com.***.matanalyze D/activity__A__131364660: onResume:
(-- 点击跳转到 B --)
com.***.matanalyze D/activity__A__131364660: onPause:
com.***.matanalyze E/activity__B__7043704: onCreate:
com.***.matanalyze E/activity__B__7043704: onStart:
com.***.matanalyze E/activity__B__7043704: onResume:
com.***.matanalyze D/activity__A__131364660: onStop:
com.***.matanalyze D/activity__A__131364660: onSaveInstanceState:
(-- 按返回键 返回到 A --)
com.***.matanalyze E/activity__B__7043704: onPause:
com.***.matanalyze D/activity__A__131364660: onRestart:
com.***.matanalyze D/activity__A__131364660: onStart:
com.***.matanalyze D/activity__A__131364660: onResume:
com.***.matanalyze E/activity__B__7043704: onStop:
com.***.matanalyze E/activity__B__7043704: onDestroy:
(-- 再按返回键 退出--)
com.***.matanalyze D/activity__A__131364660: onPause:
com.***.matanalyze D/activity__A__131364660: onStop:
com.***.matanalyze D/activity__A__131364660: onDestroy:
三、启动模式:singleTask
3.1、A 打开 新 A
com.***.matanalyze D/activity__A__131364660: onCreate:
com.***.matanalyze D/activity__A__131364660: onStart:
com.***.matanalyze D/activity__A__131364660: onResume:
(-- 创建新 A 并跳转 操作 --)
com.***.matanalyze D/activity__A__131364660: onPause:
com.***.matanalyze D/activity__A__131364660: onResume:
3.2、A 打开 B,再打开 新的A,再返回(此时会退出)
(Note: B的启动模式为 standart 和 singleTask 时,都为如下过程-此处仅指当前的3步操作)
com.***.matanalyze D/activity__A__134269277: onCreate:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
(-- 打开新的 B 操作 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze E/activity__B__7043704: onCreate:
com.***.matanalyze E/activity__B__7043704: onStart:
com.***.matanalyze E/activity__B__7043704: onResume:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onSaveInstanceState:
(-- 再打开新的 A 操作 --)
com.***.matanalyze E/activity__B__7043704: onPause:
com.***.matanalyze D/activity__A__134269277: onRestart:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
com.***.matanalyze E/activity__B__7043704: onStop:
com.***.matanalyze E/activity__B__7043704: onDestroy:
(-- 按返回键 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onDestroy:
(-- 此时完全退出 --)
四、启动模式:singleInstance
4.1、A 打开 新的 A
com.***.matanalyze D/activity__A__131364660: onCreate:
com.***.matanalyze D/activity__A__131364660: onStart:
com.***.matanalyze D/activity__A__131364660: onResume:
(-- 打开新的 A 操作 --)
com.***.matanalyze D/activity__A__131364660: onPause:
com.***.matanalyze D/activity__A__131364660: onResume:
(-- 在新页面 按返回键 操作 --)
com.***.matanalyze D/activity__A__131364660: onPause:
com.***.matanalyze D/activity__A__131364660: onStop:
com.***.matanalyze D/activity__A__131364660: onDestroy:
4.2、A 打开 B,再打开新的 A,再打开新的B,再返回退出
note:此时 B 为 standard
com.***.matanalyze D/activity__A__134269277: onCreate:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
(-- 打开新的 B 操作 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze E/activity__B__7043704: onCreate:
com.***.matanalyze E/activity__B__7043704: onStart:
com.***.matanalyze E/activity__B__7043704: onResume:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onSaveInstanceState:
(-- 再打开新的 A 操作 --)
com.***.matanalyze E/activity__B__7043704: onPause:
com.***.matanalyze D/activity__A__134269277: onRestart:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
com.***.matanalyze E/activity__B__7043704: onStop:
2043704: onSaveInstanceState:
(-- 打开新的 B 操作 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze E/activity__B__7043704: onRestart:
com.***.matanalyze E/activity__B__7043704: onStart:
com.***.matanalyze E/activity__B__7043704: onResume:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onSaveInstanceState:
(-- 再打开新的 A 操作 --)
com.***.matanalyze E/activity__B__7043704: onPause:
com.***.matanalyze D/activity__A__134269277: onRestart:
com.***.matanalyze D/activity__A__134269277: onStart:
com.***.matanalyze D/activity__A__134269277: onResume:
com.***.matanalyze E/activity__B__7043704: onStop:
com.***.matanalyze E/activity__B__7043704: onDestroy:
(-- 按返回键 --)
com.***.matanalyze D/activity__A__134269277: onPause:
com.***.matanalyze D/activity__A__134269277: onStop:
com.***.matanalyze D/activity__A__134269277: onDestroy:
(-- 此时完全退出 --)