Android finishOnTaskLaunch 属性
这个属性与clearTaskOnLaunch 属性相似,但它仅作用于单个的activity,而不是整个的task。
而且它可以使任意activity 都被清理,甚至根activity 也不例外。当它设置为“true”的时候,此activity 仅做为任务的一部分存在于当前回话中,一旦用户离开并再次回到这个任务,此activity 将不复存在。
此外,还有别的方式从堆栈中移除一个activity。
如果一个intent 对象包含FLAG_ACTIVITY_CLEAR_TOP 标记,而且目标任务的堆栈中已经存在了一个能够响应此intent 的activity 类型的实例。
则这个实例之上的所有activity 都将被清理以使它位于堆栈的顶部来对intent 做出响应。
如果此时指定的activity 的加载模式为“standard”,则它本身也会从堆栈中移除,并加载一个新的实例来处理到来的intent。
这是因为加载模式为“standard”的activity 总会创建一个新实例来处理新的intent。
FLAG_ACTIVITY_CLEAR_TOP 与FLAG_ACTIVITY_NEW_TASK 经常合并使用。
这时,这些标记提供了一种定位其它任务中现存的activity 并将它们置于可以对intent 做出响应的位置的方法。