Android开发艺术探索--Activity生命周期和启动模式

来源:互联网 发布:如何查看应用程序端口 编辑:程序博客网 时间:2024/06/04 18:21
正常的Activity从启动到销毁走这样的生命周期,onCreate onStart onResume onPause onStop onDestory 其中,onCreat和onDestory是相对的,对应Activity创建或者销毁。onStart和onStop是相对的,对应Activity是否可见。
onResume和onPause是相对的,对应Activity是否位于前台,即是否可交互。从ActivityA启动ActivityB,首先得执行B的onPause方法,再走A的生命周期,再走B的onDestory,因此不能在onPause中做一些耗时操作,会影响启动时间。当Activity被意外杀死的时候,它会走onPause onStop onDestory方法,其中在onStop方法之前会调用onSaveinstance方法,保存当前的View状态结构在Bundle对象中,在onCreat和onRestoreInstance方法中拿到Bundle对象,再做处理。
启动模式有四种,Standard 标准模式,每次打开一个Activity便会new一个实例出来,并压入栈顶。singeTopz栈顶唯一。当Activity位于栈顶的时候,再打开这个Activity中,不会重新new实例,也不会调onCreate方法,会调用newIntent方法
singleTask栈内唯一。如果设置这种启动模式,如果这个activity指定了栈,会看一下有没有这个栈,没有的话创建这个栈,并压入栈中。此外,他还有clearTop的作用,比如a->b->c->d,c是这种模式,再次启动c,会把ab移除掉,执行onIntent方法。

SingleTask,基本跟singleInstance一样,比他更严格,只能独立存在栈中。
阅读全文
0 0
原创粉丝点击