四种Launch mode
Standard,默认模式,可以多实例,可以在task里面产生多个实例
SingleTop:当启动的activity为当前的activity时,不生成新实例,回调onNewIntent,反之,生成新的实例。
SingleTask:如果该activity已经存在,那么切换task,然后把该activity之后的所有activity全部销毁,如果没有,则启动一个新的task
SingleInstace:与SingleTask相似,不同的是,该task只能该activity独占,不能有其他activity,如果在该task启动其他activity,相当于附带NEW_TASK_FLAG
TaskAffinity:activity归属感? 可以理解为activity group。
用String来表示affinity的值,相同的值代表相同的activity group
与之相关的属性
allowTaskReparenting,当启动后切换到后台,是否可以将它移动到affinity相同的task,浏览器的例子
clearTaskOnLaunch,如果带此属性的activity为某个task的root activity,那么当它启动后,销毁该task中所有除它意外的activity
finishOnTaskLaunch,当task重新切换回到前台时,附带此属性的activity将被销毁
alwaysRetainTaskState如果带此属性的activity为某个task的root activity,那么该task的其他activity将不会随着时间的变化而不系统解决掉