一、 基本的生命周期流程
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的销毁。
本文详细介绍了Android应用程序中Activity的生命周期,包括onCreate、onStart、onResume、onPause、onStop和onDestroy等关键方法的执行顺序。特别讨论了在启动FirstActivity到SecondActivity,以及从SecondActivity返回FirstActivity时的生命周期变化,强调了耗时操作可能对用户体验的影响,如阻塞后续Activity的启动或销毁。最后指出,用户实际看到界面是在onResume()执行完毕之后。
1659

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



