android启动模式.png

SingleTop–在当前栈为自己的时候只能启动一次 一个栈
SingleTask–只能启动一次 在一个栈
SingleInstance–一个实例存在不同栈

standard标准模式 每次启动都一个Activity都会重新创建一个新的实例
singleTop栈顶复用模式 如果在任务栈顶那么Activity不会重建
singleTask栈内复用模式 单实例模式
singleInstance单实例模式 启动后新创建一个任务栈

<activity android:name=".MainActivity"
    android:configChanges="screenLayout"
    android:launchMode="singleTask"
    android:label="@string/app_name"/>

Intent intent = new Intent();
intent.setClass(MainActivity.this,SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

两种方式

两种方式启动