本篇文章简单介绍下android 中的启动模式.
1: 启动模式
android 中定义了四种启动模式来控制activity创建以及管理.
1:Standard(标准模式)
默认的启动模式,每次启动Activity都会创建一个新的实例,并放入任务栈中。
2:SingleTop(栈顶模式)
如果activity位于栈顶,则复用该activity,否则与Standard一样,创建新的activity实例.
3:SingleTask(单任务栈模式)
如果activity已经存在栈中,则清除其上面的activity,使其位于栈顶.
taskAffinity 属性可设置指定的任务栈.
4:SingleInstance(单实例模式)
全局单例模式,整个系统中只存在一个实例.
2: 调用方法
设置activity的启动模式有两种方式:
1: 静态配置
第一种方式可以在manifests中直接设置:
<activity android:name=".WebActivity" android:launchMode="singleTop"/>
2: 动态设置
第二种则是intent中添加flag:
private void start(Context context) {
Intent intent = new Intent();
intent.setClass(context, WebActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}