activity中存在四种启动模式:standard,singleTop,singleTask,singleInstance
可以在AndroidManifest.xml文件中通过给<activity>标签指定android:launchMode属性来选择启动模式
1、standard模式
android的标准启动模式 系统不会在乎activity是否已经在返回栈中存在
不检查返回栈中是否存在该活动
2、singleTop模式
这个模式下 android发现将启动的activity已经存在于返回栈的栈顶时将不会创建新的实例 但是如果返回栈有这个activity的实例却不是在栈顶 再次启动时依然会创建这个这个activity实例
检查返回栈中该活动是否在栈顶
3、singleTask模式
这个模式下 系统将检查返回栈中是否存在该活动实例 若存在直接使用 同时会把这个活动之上的所有活动全都出栈 若没有则创建一个新实例
检查返回栈中是否存在该活动
4、singleInstance模式
这个模式下 系统会有一个单独的返回栈来管理启动模式为singleInstance的活动 这样不管哪个应用程序来访问都共用的一个返回栈
设置一个单独的返回栈管理活动