Task和launchMode

Task

Task 有一个关键的属性affinity 该Task的root Activity 的affinity
每一个Activity也都有一个叫做affinity的属性 andrid:taskAffinity 默认是包名


launchMode

普通类型

standard

默认的启动模式,当系统接收到一个Intent实例去启动一个standard模式的Activity时,系统总是会在目标栈的顶部创建一个新的activity实例,并把Intent的实例传进去。

singleTop 栈顶复用模式

如果目标栈顶部没有此activity实例 同standard
如果有,系统就会重用这个Activity的实例而不创建新的实例,并回调该Activity的onNewIntent(Intent intent)方法把新的Intent实例当作方法参数传递进去

新闻类或者阅读类App的内容页面

特殊类型 (不可以有多个实例)

singleTask

如果不存在,就创建一个新的Task,在该Task底部创建activity实例
如果存在,就重用该activity,回调onNewIntent(Intent intent)方法,把此Task调到前台,activity置顶,clearTop

适合作为程序入口点

singleInstance

类似于singleTask,singleInstance的Task中不允许有其他Activity实例

闹铃的响铃界面

你可能感兴趣的:(Task和launchMode)