目录
1. 生命周期流程 & 方法详解
1.1 具体请看下图
1.2 注意点
a. 生命周期方法 = 成对出现(配对)
onCreate()
&onDestory()
onStart()
&onStop()
onResume()
&onPause()
b. onStart() & onStop()、onResume() & onPause() 除了回调时刻,在实际使用中无任何区别
onStart()
&onStop()
:从Activity
是否完全可见的角度 进行回调onResume()
&onPause()
: 从Activity
是否位于前台(UI最顶层)的角度进行回调;- 除了上述的区别,在实际使用中没有任何区别
c. 当前Activity为A,此时用户打开ActivityB后,那么A的onPause()和B的onResume()哪个方法先执行?
答:先 A的onPause()
,再B的onResume()
Activity
的启动过程:由ActivityManagerService
(AMS)对栈内的Activity
状态进行同步管理 & 规定:新Activity启动前,栈顶的Activity必须先onPause(),才能启动新的Activity(执行onResume())
注:为了让新的
Activity
尽快切换到前台,在onPause()
尽量不要做耗时 / 重量级操作
2. 常见场景的生命周期调用方式
3. 与Fragment生命周期对比
-
Fragment
、Activity
的生命周期非常相似 -
具体对比如下图: