一、Activity的加载模式有四种:
standard: 标准模式,默认的加载模式,每次通过这种模式启动目标Acitivity,都创建一个新的实例,并将该Activity添加到当前栈中。
singleTop: 与标准模式类似,只有当Activity位于Task顶时,系统不会重新创建目标Activity的示例,而是直接复用已有的Activity实例。
singleTask: 如果要启动的Activity不存在,系统创建Activity实例,并将它加入栈顶
如果将启动的Activity存在,已经位于栈顶,此时与singleTop行为相同,如果要启动的Activity存在,但不是位于栈顶,系统会使Activity上面所有的Activity出栈。
singleInstance:
如果要启动的Activity不存在,系统会创建一个新的Task,再创建Activity实例,将它加入新Task的栈顶
如果要启动的Activity存在,无论它在哪个应用程序中,系统都会把该Activity所在的Task转至前台。
二、A启动B A生命周期全过程
1.启动A
Activity的初始化了,A第一步创建onCreate(): -------->成功!
Activity被激活A,onStart Activity显示在屏幕上(): -------->成功!
Activity被恢复A,onResume(): -------->成功!
2.在A中启动B
Activity被暂停A,Activity进入暂停状态onPause(): -------->成功!
B------------------>(): 创建!
Activity被激活B,onStart Activity显示在屏幕上(): -------->成功!
Activity被恢复B,onResume(): -------->成功!
Activity被停止A,Activity进入停止状态onStop(): -------->成功!
3.从B中返回A(按物理硬件返回键)
Activity被暂停B,Activity进入暂停状态onPause(): -------->成功!
Activity被重启A,Activity从停止状态进入活动状态onRestart(): -------->成功!
Activity被激活A,onStart Activity显示在屏幕上(): -------->成功!
Activity被恢复A,onResume(): -------->成功!
Activity被停止B,Activity进入停止状态onStop(): -------->成功!
Activity的消亡了,B最后的生命!销毁onDestroy(): -------->成功!
4.继续返回
Activity被暂停A,Activity进入暂停状态onPause(): -------->成功!
Activity被停止A,Activity进入停止状态onStop(): -------->成功!
Activity的消亡了,A最后的生命!销毁onDestroy(): -------->成功!
网友评论