singleTask
(最多只有一个实例,在重复打开的时候,会回调onNewIntent方法,并且在其上的Activity全部CLEAR_TOP。)
这种情况,适用于:
当应用已经操作进入很深的时候,应该有一个返回首页的操作。通过这种模式,可以直接让上面的所以活动出栈。
singleInstance
如果想某个活动的状态一直被保存,不会受到其他活动进栈出栈的影响,希望每次看到这个活动都是用户退出前的操作
singleTop
比如消息推送一个活动,但是你当前就在这个活动,你出栈了这个活动后,发现还是这个活动,就会显得很奇怪,这个时候就需要singleTop
如果点击一个按钮多次,把一个活动打开了多次,这个情况就不好,需要singleTop,除非拦截重复点击,不过代码会冗余不少(可以用aop+注解解决)