1、B Activity 不是透明的
1、第一个 A Activity 执行的生命周期方法:
image.png
- 依次执行的生命周期方法:onCreate --- onStart — onResume
2、点击button 跳转到 B Activity 执行生命周期方法:
image.png
- 先会执行 A 的生命周期方法: onPause
- 再去执行 B 的生命周期方法: onCreate --- onStart --- onResume
- 最后执行 A 的生命周期方法: onStop
3、在B Activity 中点击 返回键,执行的生命周期方法:
image.png
- 先会执行 B 的生命周期方法:onPause
- 再去执行 A 的生命周期方法:onRestart --- onStart --- onResume
- 最后执行 B 的生命周期方法:onStop --- onDestroy
4、在A Activity 界面点击 Home键,执行的生命周期方法:
image.png
- 执行 A 的生命周期方法: onResume --- onStop
5、从新进入到 App中,A 重新可见,执行的生命周期方法 :
image.png
- 执行 A 的生命周期方法: onRestart --- onStart --- onResume
2、B Activity 是透明的
1、第一个 A Activity 执行的生命周期方法:
image.png
- 依次执行的生命周期方法:onCreate --- onStart — onResume
2、点击button 跳转到 B Activity 执行生命周期方法:
image.png
- 先会执行 A 的生命周期方法: onPause
- 再去执行 B 的生命周期方法: onCreate --- onStart --- onResume
- 因为 B 是透明的,所以不会执行 A 的 onStop
3、在B Activity 中点击 返回键,执行的生命周期方法:
image.png
- 先会执行 B 的生命周期方法:onPause
- 再去执行 A 的生命周期方法:onResume
- 最后执行 B 的生命周期方法:onStop — onDestroy
4、在A Activity 界面点击 Home键,执行的生命周期方法:
image.png
- 执行 A 的生命周期方法: onResume --- onStop
5、从新进入到 App中,A 重新可见,执行的生命周期方法 :
image.png
- 执行 A 的生命周期方法: onRestart --- onStart --- onResume
总结:
- 1、(前提
)A启动B,A的生命周期方法 onResume和onStop 是分开执行的,当B初始化完成之后,A的onStop再执行。
- 2、(前提
)A启动B,A的onStop不会执行