Activity生命周期
程序员文章站
2022-05-14 08:03:52
...
一、生命周期
- 1.onCreate
Activity创建,
- onStart
Activity正在启动,Activity已经可见,只是在后台,还无法交互。
- onResume
Activity开始,已经显示,在前台,可以交互
- onPause
Activity暂停,太耗时的操作,否则会影响启动Activity的速度
- onStop
Activity停止,在onPause之后执行
- onDestroy
Activity销毁
- onNewIntent
该函数在Activity启动模式为singleTop,singleTask,singleInstance时再次启动时会调用该函数。
MainActivity启动SecondActivity生命周期执行顺序如下:
[MainActivity]: onCreate
[MainActivity]: onStart
[MainActivity]: onResume
[MainActivity]: onPause
[SecondActivity]: onCreate
[SecondActivity]onStart
[SecondActivity]onResume
[MainActivity]: onStop
可以发现,MainActivity启动SecondActivity,先执行MainActivity.onPause到后台,然后执行SecondActivity的onCreate、onStart、onResume显示到界面后再执行MainActivity.onStop停止MainActivity。所以在onPause函数中不能做太耗时的操作,否则会影响启动Activity的速度。
二 Activity启动模式
- 1.standard
标准模式
- 2.singleTop
栈顶复用,栈内没有会创建一个新的Activity;如果不再栈顶就会创建一个新的Activity;如果在栈顶会复用该Activity,且会走onNewIntent函数
- 3.singleTask
栈内复用,栈内没有会创建一个新的Activity;如果已有该Activity且不再栈顶就会把该Activity栈以上的Activity弹出,执行onNewIntent函数;如果在栈顶会复用该Activity,执行onNewIntent函数
- 4.singleInstance
栈内单例,singleTask升级版,Activity只能单独的位于一个任务栈内。
推荐阅读
-
详解ORACLE中游标的生命周期
-
移动应用开发——Activity(活动)
-
分享Angular的生命周期钩子图例
-
PHP内核的学习-PHP生命周期
-
PHP的生命周期 opcode缓存 什么是php的词典扫描?该如何处理
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Android中Activity之间跳转和参数传递的实例
-
flag_activity_clear_top php采集时被封ip的解决方法
-
Android中两个Activity之间数据传递及返回问题
-
Android编程之四种Activity加载模式分析