Android:Activity的LaunchMode比较

launchMode

standard

singleTop

singleTask

singleInstance

哪个任务会把持对intent做出响应的activity

默认是发出intenttask,当FLAG_ACTIVITY_NEW_TASK设置时,会启动新的任务。

默认是发出intenttask,当FLAG_ACTIVITY_NEW_TASK设置时,会启动新的任务。

总是位于task的根部,也不会放入其他任务中

总是位于task的根部,也不会被放入其他任务中

activity是否可以存在多个实例

可以归属于多个任务,而一个任务也可以拥有同一activity的多个实例。

可以归属于多个任务,而一个任务也可以拥有同一activity的多个实例。

一个设备中同一时间只允许存在一个任务的实例。

一个设备中同一时间只允许存在一个任务的实例。

在实例所在的任务中是否会有别的activity

可以在task的任意位置出现

可以在task的任意位置出现

允许加载其他的activity到本task中,可以存在多个activity,永远位置栈底。

只有自己一个activity,如果他启动了其他activity将会按照自己的属性在其他任务中

是否要载入新的类实例以处理新的intent

对于每个新intent都会创建一个新的实例以进行响应,每个实例仅处理一个intent

如果activity位于目的任务堆栈的最上面,则重用目前现存的activity来处理新的intent。如果它不是在堆栈顶部,则不会发生重用。而是创建一个新实例来处理新的intent并将其推入堆栈。

实例将处理所有新的intent,如果不是栈顶,intent被舍弃,自身task切换到前台。

实例将处理所有新的intent,永远位于栈顶,可以处理所有的intent

你可能感兴趣的:(Android:Activity的LaunchMode比较)