Android四大组件之一,Activity可视化用户界面

ActivityTaskView: 直观的Activity任务栈和LaunchMode分析工具 - 简书 (jianshu.com)

生命周期

了解 Activity 生命周期  |  Android 开发者  |  Android Developers (google.cn)

Untitled

onPause():Activity不再位于前台

onStop():Activity不再对用户可见时

将CPU密集型任务放在onStop中执行,比如草稿笔记保存到持久化存储空间中

Activity启动模式

标准模式standard

每启动一次Activity,就创建一个新的Activity实例并置于栈顶

栈顶复用模式singleTop

如果创建的Activity已经位于栈顶,那么不会重新创建新的,而是复用栈顶的实例,并回调onNewIntent方法,不会回调其他生命周期方法

🚀 场景:通知栏点击收到的通知,需要启动一个Activity,这个Activity可以用singleTop

栈内复用模式singleTask

该模式是一种单例模式,即一个栈只有一个该Activity实例

如果创建的Activity在栈内存在,会清空该实例之上的栈内Activity,然后回调onNewItent方法

singleTask和taskAffinity配合使用,可以指定开启的Activity加入到哪个栈中。