Activity生命周期
来源:互联网 发布:c语言接口的定义 编辑:程序博客网 时间:2024/06/08 10:07
前置条件:Activity的launchmode为默认值
分以下几种情况讨论activity生命周期回调函数的调用顺序:
- 正常打开app,然后按Back键退出
- 从Home键最近打开app菜单进入
- 正常打开app,然后按Home键返回桌面,再次进入app
- 从activity A跳转到activity B,然后按Back键返回activity A
- 从activity A打开activity B(Theme.Dialog等),然后按Back键关闭activity B
- 从activity A打开Dialog,然后关闭Dialog
- 从activity A打开AlertDialog,然后关闭AlertDialog
- 来电activity覆盖
- 从桌面widget启动activity
1.桌面图标启动App,按Back键返回:
onCreate()
onStart()
onResume()
【Back键按下】
onPause()
onStop()
onDestroy()
2.长按Home按键,从最近程序中点击图标进入
与情况1相同。
3.启动App,按Home按键,然后再点击图标进入
onCreate()
onStart()
onResume()
【Home键按下】
onPause()
onStop()
【再次进入Ap】
onRestart()
onStart()
onResume()
4.新Activity全部覆盖,back退出新Activity
A oncreate()
A onstart()
A onResume()
【启动B】
A onPause()
B onCreate()
B onStart()
B onResume()
A onSaveInstanceState()
A onStop()
【从B Back】
B onPause()
A onActivityResult()
A onRestart()
A onStart()
A onResume()
B onStop()
B onDestroy()
【从A Back】
A onPause()
A onStop()
A onDestroy()
5.新Activity部分覆盖,back退出新Activity
A onCreate()
A onStart()
A onResume()
【启动B】
A onPause()
B onCreate()
B onStart()
B onResume()
【从B Back】
B onPause()
A onActivityResult()
A onResume()
B onStop()
B onDestroy()
6.普通Dialog部分覆盖
同下面AlertDialog
7.AlertDialog部分覆盖
onCreate()
onStart()
onResume()
【显示AlertDialog】
【关闭AlertDilaog】
在AlertDialog出现以及消失的过程中,没有触发任何onXXX事件。
8.来电覆盖
等同新Activity全覆盖
9.桌面控件intent启动
9.1.目标Activity未启动
等同桌面图标直接启动,会直接启动一个新Activity。
9.2.目标Activity已经启动并且在最上层
如果目标Activity是由桌面控件触发的,那么等同情况3,不会创建新Activity。
如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。
9.3.目标Activity已经启动但是不在最上层
如果目标Activity是由桌面控件启动的,那么不会创建新Activity,但也不会把目标Activity提到最上层。
如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- 把深度学习作为自己的硕士课题,有什么可以做的?
- @"[ 1,-1, 1,3,4]"形式的字符串转化为数组
- 对象库编程VS描述性编程
- System进程的启动流程第一部分
- SAP ABAP编程 弹窗操作函数
- Activity生命周期
- Ubuntu下Qt安装全过程解答
- 内存分配(Day-9)
- VS2015调试功能初探
- CUDA简介
- Linux Core Dump
- lintcode-带最小值操作的栈-12
- Unix 文件系统的核心目录总结
- 传智播客助力一带一路IT人才培养