Activity的生命周期 A启动B,B返回A, A,B的全生命周期

一、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(): -------->成功!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容