在这里,主要的行为标志为是:
FLAG_ACTIVITY_NEW_TASK
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
FLAG_ACTIVITY_SINGLE_TOP
主要的 属性是:
taskAffinity
launchMode
allowTaskReparenting
clearTaskOnLaunch
alwaysRetainTaskState
finishOnTaskLaunch
启动模式
有4中不同的启动模式可以分配给 元素的 launchMode 属性。
"standard" (默认的模式)
"singleTop "
"singleTask"
"singleInstance"
这些模式主要区别在以下四点:
1、"standard "和“singleTop ”类型的activity可以被实例化多次
2、作为比较"singleTask "和"singleInstance "类型的activity只限定有一个实例
3、。"singleInstance " 类型的activity是它所在任务中唯一的activity。如果它启动了其他的activity,不管那个activity的启动模式如何,它都会加载到一个不同的任务中。在其他的方面,"singleInstance "和"singleTask "模式是相同的。
alwaysRetainTaskState 属性
如果一个任务的根activity的这个属性设置成了"true",那么刚才提到的那些默认行为就不会发生。这个任务保留所有的activity,甚至经过了很长一段时间。
clearTaskOnLaunch 属性
如果任务的根activity的这个属性设置成了”true“,那么只要用户离开了任务并返回,就会清除除了根activity之外的所有activity。换句话说,它和alwaysRetainTaskState正好相反,当用户返回到任务时,总是恢复到最初的状态,不管离开了多长时间。
finishOnTaskLaunch 属性
这个属性和clearTaskOnLaunch类似,但是它作用于单个activity,而不是整个任务。它可以导致任何的activity离开,包括根activity。当它设置成"true"的时候,作为任务一部分的activity只对当前会话有效。如果用户离开然后返回到任务中。它将不再出现。