Activity的生命周期详解—个人浅谈不同情况下生命周期
1. android 生命周期图
单个acitivity的生命周期遵循从创建到消亡的顺序。
2.当MainActivity 创建后启动B的时候生命周期
当MainActivity 创建后启动B的时候
如图
有图可以看出当MainActivity 创建时onCreate->onStart->onResume,
当MainActivity 启动B的时候,先是MainActivity 的onPause,然后才是B的onCreate->onStart->onResume,随后跟着的是MainActivity 的onSaveInstanceState->onStop(),由此看出当第一个Activity启动第二个Activity时当它进入后台时并不是生命周一一次性执行完,而是和被调起的Activity生命周期有交叉存在。
当按下返回键从B回到MainActivity 时
如图
B会执行onPause ,然后是MainActivity 执行 onStart->onResume,最后B在执行onStop()->onDestroy。
从这个案例我们可以看出两个Activity的生命周期是相互交叉的,所以如果有些是在Activity进入后台或者是不可见时就需要执行的动作或者是销毁时才执行的时候一定要注意选择正确生命周期方法相应操作。
3.MainActivity 创建后,按下home键在从后台调起的生命周期
如图
3.C的启动模式为singleTop
1.MainActivity 启动B,B启动C,C再启动C的生命周期
如图
2.MainActivity 启动B,B启动C,C再启动B,B启动C 的生命周期
如图
3.D的启动模式为singleTask
1,MainActivity ->B->C->D->D 生命周期
如图
2,MainActivity ->B->C->D->B->C->D 生命周期
如图
暂时先写到这里,关于其他情况下生命周期是什么情况你可以自己探索,或者以后可能我会更新。
在这里建议读者对activity的启动模式了解下,这对你了解它的生命周期是有帮助的。
本文详细探讨了Activity在不同场景下的生命周期变化,包括创建MainActivity后启动B、按下home键从后台调起、以及不同启动模式(如singleTop、singleTask)下的行为。通过示例和图表解释了Activity间生命周期的交叉执行,强调了理解启动模式对掌握Activity生命周期的重要性。
169

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



