这里会以多个场景列子进行分析在分析之前先了解一下基本的概念。
反之在什么时候不会创建新任务呢?当一个app以非SingleTask方式启动另一个app时或者在同一app内无论以什么方式启动其他Activity,都不会创建新的任务
task的方式启动的。这样每启动一个app都会新建一个任务(如果任务不存在)。这样多个任务就产生了点击HOME鍵的时候会启动Launch,相当于把Launch这个任务从后台移动到前台这个时候继续点击app1,也就相当于把app1(前提app1的第一个activity在配置文件中的启动模式声明不昰aingleTask)所在的任务移动到前台显示而不会重新排布app1中所有Activity的位置。
模拟一下两个Task的场景
(注意:场景2如果不是从launch中点击图标进入而是从显示嘚最近任务中进入,则不会判断根Activity的启动模式会直接把Task2移动到前台。Task2中的Activity排列方式不变)
模拟一下3个Task的场景
2.在最近任务中进行多个任务之間的相互切换时不会打乱每个任务中Activity的排列但是在点击app图标进行多个任务切换时,系统会先判断该任务根Activity的启动模式是否为SingleTask不是的话,不做任何操作如果是的话,执行根Activity的onNewIntent方法把覆盖在根Activity之上的Activity destory掉。