launchMode singleTask跟singleInstance的区别

launchMode singleTask和singleInstance的区别
singleTask和singleInstance的区别:
1.singleTask是在当前task栈中只有一个实例,例如同一个应用从A到B(singleTask),那么当前A和B都在一个task栈。如果另外个应用C此时再到B,那么就是进入了B(进入A和B的task栈,C在另外一个栈),此时如果按回退,则B->A->C
2.singleInstance则是多个task栈共享一个实例。如1.中所说的场景,A到B的时候,会为B单独创建一个task栈,而且栈中只有一个B实例(无第二个B实例,且没有其他Activity的实例)。
C到B时,B没有发生变化,还是之前的那个实例、那个栈。(用于多个应用共享一个activity)