singleInstance只能单独地位于一个任务栈中(创建了一个新的水桶来盛放这一个任务栈,且新的水桶只能放一个任务栈),应用场景:来电话界面,及时来多个电话也只创建一个Activity;再如浏览器界面,输入多个网址访问,只创建一个Acivity;设计目的节省内存 :设置成此模式会开启一个且只有一个新的独立的任务栈,假如B被设置成singleInstance A–B--A–A 此时back A–A--A–B退出任务栈;进栈A–B--A–B back B–A--A出栈
singleTop和singleTask的区别
singleTop只检查栈顶,有相同的栈则只移除相同的栈:A–B--B(若B是singleTop则只有AB)
singleTask检查所有任务栈,有相同的栈则移除以上所有栈:A–B--A–B(若B是singleTask则只有AB,若B是singleTop则有ABAB)