Android 的activity中有四种启动模式,分别为 standard,singleTop,singTask,singleInstance。
AndroidMainfest.xml中给<activity>标签指定Android:launchMode属性来选择启动模式。
1.standard:系统不会在乎这个活动是否已经在返回栈中已经存在,每次启动都都会创建该活动的一个实例。
2.singleTop:在启动活动时,如果发现返回栈的栈顶已经是该活动,则可以直接使用它,不会再创建实例,如果已经存在但不是存在栈顶则创建新的activity。
3.singTask:如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。保证本活动是单例存在于项目中。
4.singleInstance:不同于以上三种启动模式,指定singleInstance模式的活动会启动一个行的返回栈来管理这个活动。解决我们想实现其他程序和我们程序可以共享这个activity的实例。例如:微信的第三方登录页面就是这种启动模式的活动。