Activity的啟動模式(LaunchMode):
1.standrad模式妄呕,標準模式恢口。系統(tǒng)默認的啟動模式。直接將Activity加入啟動者的任務(wù)棧押赊。
2.singleTop模式即舌,棧頂復(fù)用模式。如果棧內(nèi)存在ABCD奠支,再去啟動一個D晕讲,棧內(nèi)仍為ABCD。
3.singleTask模式墩新,棧內(nèi)復(fù)用模式贸弥,一種單實例模式。當棧內(nèi)為ADBC時海渊,以此模式啟動一個D绵疲,此時BC將出棧,棧內(nèi)為AD臣疑。
4.singleInstance模式盔憨,單實例模式,加強版的SingleTask朝捆。在SingleTask的基礎(chǔ)上般渡,一個Activity只能有一個任務(wù)棧。
TaskAffinity(任務(wù)相關(guān)性)標示了一個Activity所需要的任務(wù)棧的名字芙盘。默認情況下驯用,所有Activity所需的任務(wù)棧的名字為應(yīng)用的包名。
Activity常用的Flags:
FLAG_ACTIVITY_NEW_TASK:為Activity指定“singleTask”啟動模式儒老,其效果和在XML中指定相同蝴乔。
FLAG_ACTIVITY_SINGLE_TOP:為Activity指定“singleTop”啟動模式,其效果和在XML中指定相同驮樊。
FLAG_ACTIVITY_CLEAR_TOP:具有此標記位的Activity薇正,當它啟動時,在同一個任務(wù)棧中所有位于它上面的Activity都要出棧囚衔。一般和singleTask啟動模式一起出現(xiàn)挖腰。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:具有這個標記的Activity不會出現(xiàn)在歷史Activity的列表中,當某些情況下练湿,我們不希望用戶通過歷史列表回到我們的Activity的時候這個標記比較有用猴仑。它等同于在XML中指定Activity的屬性android:excludeFromRecents="true"。