1.標(biāo)準(zhǔn)模式(standard):
每啟動(dòng)一次Activity,就會(huì)創(chuàng)建一個(gè)新的Activity實(shí)例并置于棧頂隙弛。誰(shuí)啟動(dòng)了這個(gè)Activity随珠,那么這個(gè)Activity就運(yùn)行在啟動(dòng)它的那個(gè)Activity所在的棧中弧蝇。
應(yīng)用場(chǎng)景:
一般我們不主動(dòng)設(shè)置啟動(dòng)模式欣喧,都是標(biāo)準(zhǔn)模式歼秽。
2.棧頂模式(singleTop):
如果棧頂存在該activity的實(shí)例应役,則復(fù)用,不存在新建放入棧頂燥筷。
應(yīng)用場(chǎng)景:
(1)點(diǎn)擊通知跳詳情
(2)新聞詳情頁(yè)箩祥,點(diǎn)擊推薦新聞條目
3.棧內(nèi)模式(singleTask):
如果棧內(nèi)存在該activity的實(shí)例,會(huì)將該實(shí)例上邊的activity全部出棧肆氓,將該實(shí)例置于棧頂袍祖,如果不存在,則創(chuàng)建
應(yīng)用場(chǎng)景:
(1)APP的home頁(yè)面谢揪,如果跳轉(zhuǎn)到其他頁(yè)面后又要跳回來(lái)
(2)瀏覽器的主頁(yè)
4.單例模式(singleInstance):
新開(kāi)一個(gè)任務(wù)棧蕉陋,該棧內(nèi)只存放當(dāng)前實(shí)例
應(yīng)用場(chǎng)景:
項(xiàng)目中語(yǔ)音通話功能,來(lái)電話顯示頁(yè)面采用的就是singleinstance模式
如何設(shè)置:
清單文件中键耕,activity節(jié)點(diǎn)下lauchmode屬性
如果使用了棧頂或棧內(nèi)模式寺滚,通過(guò)onNewIntent回調(diào)中的Intent參數(shù)來(lái)接收傳遞的內(nèi)容