当前位置:操作系统 > 安卓/Android >>

Activity启动模式简单解释

android中,activity的启动模式有四种,分别为:
“standard”(默认)
“singleTop”
“singleTask”
“singleInstance”
 
他们分别在AndroidManifest.xml文件中可配,也可通过intent启动Activity时添加必要参数来设置
 
例如:
 
1
<activity
2
           android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation"
3
           <span style="color:#e53333;">android:launchMode="singleTask"</span>             android:screenOrientation="portrait"
4
            android:windowSoftInputMode="adjustPan"
5
           android:name=".activity.ShowHowAct" >
下面就一一说明这几个模式的特征:
 
standard(默认)
 
 这个是android的Activity的默认模式,如果没有配置      android:launchMode ,则默认这个模式。该模式下,一个Activity可以同时被添加到多个task中,
 
且一个task可以有多个实例,且每次通过intent启动时,都会生成一个新的实例。
 
singleTop www.zzzyk.com
 
该属性和standard较类似,不同的地方就是,当当前Activity的实例在当前task的栈顶时,intent启动时,则不生成新的实例,会重用(不生成新的实例)原有的实例,如果你显式指定intent的参数FLAG_ACTIVITY_NEW_TASK。如果提供了FLAG_ACTIVITY_NEW_TASK参数,会启动到别的task里。
 
singleTask
 
该模式下,Activity只会有一个实例。如果某一个task中已有该Activity的一个实例存在,则不再启动新的,每次都会被重用(重用就是如果该Activity在task的栈底,则会被调到栈顶),且可以和其他的Activity共存于一个task中。
 
singleInstance
 
该模式和singleTask一样,唯一不同的就是,该模式下,Activity会独自拥有一个task,不会和其他Activity公用,每次Activity都会被重用,且全局只能有一个实例
 
 
摘自 helloclq
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,