即Activity启动的方式
Android启动提供了四种启动方式:
Standard
)SingleTop
)SingleTask
)SingleInstance
)Activity
的管理方式 = 任务栈Activity
出栈启动模式有2种设置方式:在AndroidMainifest
设置、通过Intent
设置标志位
在AndroidMainifest
的Activity
配置进行设置
<activity
android:launchMode="启动模式"
//属性
//standard:标准模式
//singleTop:栈顶复用模式
//singleTask:栈内复用模式
//singleInstance:单例模式
//如不设置,Activity的启动模式默认为**标准模式(standard)**
</activity>
Intent
设置标志位Intent inten = new Intent (ActivityA.this,ActivityB.class);
intent,addFlags(Intent,FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
标记位属性
标记位属性 | 含义 |
---|---|
FLAG_ACTIVITY_SINGLE_TOP | 指定启动模式为栈顶复用模式(SingleTop) |
FLAG_ACTIVITY_NEW_TASK | 指定启动模式为栈内复用模式(SingleTask) |
FLAG_ACTIVITY_CLEAR_TOP | 所有位于其上层的Activity都要移除,SingleTask模式默认具有此标记效果 |
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | 具有该标记的Activity不会出现在历史Activity的列表中,即无法通过历史列表回到该Activity上 |
Intent
设置方式的优先级 > Manifest
设置方式,即 以前者为准Manifest
设置方式无法设定 FLAG_ACTIVITY_CLEAR_TOP
;Intent
设置方式 无法设置单例模式(SingleInstance
)