Android生命周期-你需要知道的几件小事

2019-06-25  本文已影响0人  xu_pan

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方法

上一篇 下一篇

猜你喜欢

热点阅读