<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...
...
<activity android:name="com.itheima.launchmode.SecondActivity"
//配置android:launchMode屬性
android:launchMode="singleTop" >
</activity>
</application>
1、standard:標(biāo)準(zhǔn)的啟動(dòng)模式
默認(rèn)應(yīng)用場(chǎng)景

standar.png
2、singleTop:?jiǎn)我豁敳磕J?br>
如果Activity已經(jīng)被開啟,并且處于任務(wù)棧的棧頂,就不會(huì)創(chuàng)建新的Activity,而是復(fù)用這個(gè)已經(jīng)開啟的Activity。
為了防止出現(xiàn)一些奇怪的用戶體驗(yàn),推薦使用單一頂部模式,整個(gè)任務(wù)??梢杂卸鄠€(gè)實(shí)例存在.
應(yīng)用場(chǎng)景:短信發(fā)送界面

top.png
3、singletask:?jiǎn)我蝗蝿?wù)棧
在整個(gè)任務(wù)棧里面只允許有一個(gè)當(dāng)前Activity的實(shí)例存在
如果要開啟的Activity在任務(wù)棧中已經(jīng)存在,直接復(fù)用這個(gè)已經(jīng)存在的Activity,并且把這個(gè)Activity上面的所有的其他Activity給清空
應(yīng)用場(chǎng)景:如果一個(gè)Activity非常消耗內(nèi)存和cpu資源,建議把這個(gè)Activity做成singletask的模式。瀏覽器的browserActivity

task.png
4、singleinstance:?jiǎn)我粚?shí)例.
整個(gè)手機(jī)操作系統(tǒng)只有一個(gè)實(shí)例存在,并且是運(yùn)行在自己?jiǎn)为?dú)的任務(wù)棧里面.
應(yīng)用場(chǎng)景:通話界面的Activity

instance.png