“singleInstance”android
他们分别在AndroidManifest.xml文件中可配,也可经过intent启动Activity时添加必要参数来设置ui
例如:spa
<activity
android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation"
android:launchMode="singleTask" android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"
android:name=".activity.ShowHowAct" >
下面就一一说明这几个模式的特征:code
standard(默认)orm
这个是android的Activity的默认模式,若是没有配置 android:launchMode ,则默认这个模式。该模式下,一个Activity能够同时被添加到多个task中,xml
且一个task能够有多个实例,且每次经过intent启动时,都会生成一个新的实例。it
singleTopio
该属性和standard较相似,不一样的地方就是,当当前Activity的实例在当前task的栈顶时,intent启动时,则不生成新的实例,会重用(不生成新的实例)原有的实例,若是你显式指定intent的参数FLAG_ACTIVITY_NEW_TASK。若是提供了FLAG_ACTIVITY_NEW_TASK参数,会启动到别的task里。class
singleTask配置
该模式下,Activity只会有一个实例。若是某一个task中已有该Activity的一个实例存在,则再也不启动新的,每次都会被重用(重用就是若是该Activity在task的栈底,则会被调到栈顶),且能够和其余的Activity共存于一个task中。
singleInstance
该模式和singleTask同样,惟一不一样的就是,该模式下,Activity会独自拥有一个task,不会和其余Activity公用,每次Activity都会被重用,且全局只能有一个实例