一、Activity A 中启动Activity B (两个普通Activity)
先执行A 的onPause,接着是执行B 的onCreate、onStart、onResume,再执行A 的onStop

二、Activity A 中启动Activity B (B 是Dialog类型的Activity android:theme="@style/Theme.ActivityDialogStyle")
先执行A 的onPause,接着是执行B 的onCreate、onStart、onResume,不会执行A 的onStop

三、Activity A 中启动Activity B (B 是透明的Activity android:theme="@android:style/Theme.Translucent")
先执行A 的onPause,接着是执行B 的onCreate、onStart、onResume,不会执行A 的onStop

四、Activity A 中启动Activity B (两个都是普通Activity)
1.在A 中点击启动B 先执行A 的onPause;接着是执行B 的onCreate、onStart、onResume;再执行A 的onStop;
2.在B 中点击执行setResult、finish,先执行B 的onPause,再执行A 中onActivityResult,接着再执行onStart。(也遇到过特殊的情况,一个vivo手机,先执行的A 的onStart,再执行A 的onActivityResult)
本文详细解析了在不同场景下,如启动普通Activity、Dialog类型的Activity及透明Activity时,ActivityA与ActivityB之间的生命周期调用顺序。阐述了在Activity切换过程中,如onCreate、onStart、onResume、onPause、onStop等方法的执行流程,并提到了特殊情况下的执行顺序差异。
4136

被折叠的 条评论
为什么被折叠?



