singleTop 的Activity和standard的几乎一样,
把singleTop和standard归为一类启动模式,这种模式不会引起任务栈的变更
singleTop和standard唯一的区别就是,singleTop的Activity,当处于栈顶时,再Start一个该Activity,不会创建新的Activity而是复用它,例如:
A为standard,B为singleTop,/ABAB表示任务栈,start:A表示启动Activity,初始栈为/A
/A start:B
/AB start:B
/AB start:A
/ABA start:A
/ABAA start:B
/ABAAB start:B
/ABAAB
这样就明白了吧。

而singleTask,和singleInstance可以归为另一类启动模式,这种模式必然引起任务栈变更
singleTask和singleInstance的区别就是,singleInstance所在的任务栈,只能有它这一个Acitivity。
设A为standard,B为singleTask,C为standard
/A start:B
/B start:C
/BC start:A
/BCA start:B
/B
以上。

04-25 06:29