學(xué)習(xí)筆記(Activity的啟動(dòng)模式)

Activity的啟動(dòng)模式(LaunchMode):

1.standrad模式,標(biāo)準(zhǔn)模式。系統(tǒng)默認(rèn)的啟動(dòng)模式。直接將Activity加入啟動(dòng)者的任務(wù)棧。
2.singleTop模式,棧頂復(fù)用模式。如果棧內(nèi)存在ABCD,再去啟動(dòng)一個(gè)D,棧內(nèi)仍為ABCD。
3.singleTask模式,棧內(nèi)復(fù)用模式,一種單實(shí)例模式。當(dāng)棧內(nèi)為ADBC時(shí),以此模式啟動(dòng)一個(gè)D,此時(shí)BC將出棧,棧內(nèi)為AD。
4.singleInstance模式,單實(shí)例模式,加強(qiáng)版的SingleTask。在SingleTask的基礎(chǔ)上,一個(gè)Activity只能有一個(gè)任務(wù)棧。

TaskAffinity(任務(wù)相關(guān)性)標(biāo)示了一個(gè)Activity所需要的任務(wù)棧的名字。默認(rèn)情況下,所有Activity所需的任務(wù)棧的名字為應(yīng)用的包名。

Activity常用的Flags:

FLAG_ACTIVITY_NEW_TASK:為Activity指定“singleTask”啟動(dòng)模式,其效果和在XML中指定相同。
FLAG_ACTIVITY_SINGLE_TOP:為Activity指定“singleTop”啟動(dòng)模式,其效果和在XML中指定相同。
FLAG_ACTIVITY_CLEAR_TOP:具有此標(biāo)記位的Activity,當(dāng)它啟動(dòng)時(shí),在同一個(gè)任務(wù)棧中所有位于它上面的Activity都要出棧。一般和singleTask啟動(dòng)模式一起出現(xiàn)。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:具有這個(gè)標(biāo)記的Activity不會(huì)出現(xiàn)在歷史Activity的列表中,當(dāng)某些情況下,我們不希望用戶通過歷史列表回到我們的Activity的時(shí)候這個(gè)標(biāo)記比較有用。它等同于在XML中指定Activity的屬性android:excludeFromRecents="true"。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容