1.onCreate --- onDestory :一个完整的生命周期
2.onStart --- onStop :可视周期(在onStart之后,onStop之前页面为可见状态)
3.onResume --- onPause: 前台周期 (在onResume之后,onPause之前用户可以在该页面进行操作,如点击输入等)
需要清楚的一些问题:
onSaveInstanceState什么时候执行?
onSaveInstanceState并不是生命周期的一部分,但是却和生命周期息息相关。一般来说对于页面a的onSaveInstanceState,会在a页面可能会被系统回收时执行。如不在栈顶了(页面a跳转到了页面b),home键进入后台了,这个时候系统可能会由于资源不足而回收页面a。所以会对页面a的数据进行保存。另一种情况是在页面旋转时,页面a 一定会被回收所以一定会执行onSaveInstanceState。
由页面a跳转至页面b,页面a的onStop方法一定会执行么?
不一定,当页面b具有透明属性时,则页面a的onStop方法不会执行(onSaveInstanceState也不会执行),因为 b是透明的,所以b弹出后a仍然是可见的,参考第2条可知onStop方法不会执行。
由页面a跳转至页面b,页面a,b的生命周期分别是怎样的?
页面a执行onpause后页面b开始创建至onresume 而后a的onSaveInstanceState(非生命周期的一部分),onstop执行
在a页面的laucnhmode为singleTop模式下,有a启动a有哪些特殊的地方?
第二个activity不会被重新创建 而是会复用原来的activity,第一个acitity只会执行onpause方法而不执行onstop方法,同时第二个activity不会执行onstart方法,会执行onNewIntent方法
本文详细解析了Android应用的三种主要生命周期:onCreate-onDestory、onStart-onStop和onResume-onPause,阐述了它们在不同场景下的表现。特别讨论了onSaveInstanceState的作用时机,以及在页面跳转时两个活动页面的生命周期变化,包括在特定条件下页面a的onStop方法可能不被执行的情况。还深入分析了在singleTop模式下启动相同Activity的特殊行为。
4065

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



