Activity的lanuchMode有四种standard(默认),singleTop,singleTask,singleInstance.
standard:每次都创建一个实例,默认将Activity加入到当前Task。
singleTop:启动的不是当前的Activity的话,则创建一个实例,并加入当前Task,否则抛弃
Intent不做任何反应
singleTask:只有一个Task,不会重新创建已存在的Activity。
singleInstance:一个Task里只有一个Activity。启动Acivity时,会重新创建一个Task,并
把Activity加入新建的Task。
注意:当一个Activity的新实例被创建去处理新Intent时,用户总是可以按返回键返回到之前
的状态(之前的Activity)。但是当一个已存在的Activity实例去处理新的Intent时,用
户不可以返回键返回到Intent到达之前的状态。
清处任务栈:
alwaysRetainTaskState属性: 如果根活动此属性设为true,任务将保留在Task
中。即使离开很长一段时间,也不会被系统清除。
clearTaskOnLaunch属性:如果根活动此属性设为true,只要用户离开就清除根活
动之外的活动。
finishOnTaskLaunch属性: 作用于单个活动。而且它能移除任何活动,包括根活
动。当它被设置为true时,任务本次会话的活动的部
分还存在,如果用户离开并返回到任务,它将不再存在。
用户按下Home键后,再打开一个新的活动。默认重新启动一个Task,若打开一个已开启过
的活动,将跳到对应的Task中的对应栈顶。