一、 基本的生命周期流程
onCreate() -> onStart() -> onResume() -> onPause()-> onStop-> onDestroy()
二、启动FirstActivity(A),然后点击跳转到SecondActivity(B)所走的生命周期流程
- onCreate(A)->onStart(A)->onResume(A)-onPause(A)->onCreate(B)->onStart(B)->onResume(B)->onStop(A)【如果B是完全覆盖A,则会调用。如果B是透明或局部,就不会被调用】
- 由此可见,FirstActivity的onPause()方法,如果有耗时操作。那将会阻塞到SecondActivity的启动。同理,SecondActivity的onResume做了耗时操作,也会阻塞到FirstActivity的onStop的调用。
- onStop(B)未必会调用。
三、从SecondActivity(B)返回到FirstActivity(A)
- onPause(B)->onRestart(A)->onStart(A)->onResume(A)->onStop(B)->onDestroy(B)
- onPause(B)如果做了耗时操作,会阻塞到FirstActivity的生命周期回调。同理,FirstActivity的onResume()也会阻塞到SecondActivity的销毁。