Activity的启动模式有4种,分别是standard,singTop,singleTask和singleInstance.在AndroidManifest.xml中,通过<activity>标签的android:launchMode属性可以设置启动模式。
1、standard
standard 是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard模式。在standard模式下,每当启动一个新的Activity,它就会进入任务栈,饼干处于栈顶的位置,对于使用standard模式的Activity,每次启动都会创建一个新的实例。
2、singleTop
singleTop启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它,不在创建新的实例。解决一个用户体验的问题,避免已经打开的页面被重复打开多次。
3、singleTask
当Activity的启动模式为singleTask时,每次启动该Activity时,系统首先会检查栈中是否存在该Activity的实例,如果已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例。
4、singleInstance
singleInstance模式加载Activity时,只会创建一个Activity实例,并且会使用一个全新的任务栈来装载该Activity实例。特点是在整个手机操作系统里只有一个实例存在。