种类:standard、singleTop、singleTask和singleInstance。
使用位置:在AndroidManifest.xml中,通过<activity>标签的android:launchMode属性可以设置启动模式
使用:
1.standard模式;默认模式,创建的时候进栈,销毁的时候出栈,系统不做判断,先进先出。
2.singleTop模式:当二次创建一个activity时,如果上一次创建的这个activity是处于栈顶,那么二次创建时,不会新建,而是直接调用第一次创建的activity实例,如果上一次创建的这个activity不是处于栈顶,则二次创建的时候新建,
3.singleTask模式:Activity在整个应用程序中只存在一个实例,每次启动Activity时,系统首先会检查栈中是否存在该Activity的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例。
4.singleInstance模式:Activity在整个系统中都只有一个实例,分两种情况:
第一种:如果要启动的Activity不存在,系统会创建一个新的任务栈,在创建该Activity的实例,并把该Activity加入栈顶
第二种:如果要启动的Activity已经存在,无论位于哪个应用程序或者哪个任务栈中,系统都会把该Activity所在的任务栈转到前台,从而使该Activity显示出来