Activity的LaunchMode

1.standard:標(biāo)準(zhǔn)模式劳翰,這是系統(tǒng)默認(rèn)的模式党涕,每次啟動(dòng)一個(gè)activity都會(huì)創(chuàng)建一個(gè)新的實(shí)例,不管這個(gè)實(shí)例是否存在。每次啟動(dòng)activity氯哮,它的onCreate、onStart土涝、onResume都會(huì)被調(diào)用砌梆。需要注意的是在這種模式下,誰(shuí)啟動(dòng)了這個(gè)activity,那么這個(gè)activity就運(yùn)行在啟動(dòng)它的那個(gè)activity的任務(wù)棧壶熏,正是因?yàn)檫@個(gè)原因句柠,不能用ApplicationContext(非activity類(lèi)型的context)來(lái)啟動(dòng)此模式下的activity。要想使用ApplicationContext來(lái)啟動(dòng)棒假,那必須給待啟動(dòng)的activity指定FLAG_ACTIVITY_NEW_TASK標(biāo)記位溯职,這樣啟動(dòng)它的時(shí)候就會(huì)創(chuàng)建一個(gè)新的任務(wù)棧,實(shí)際上此時(shí)是以singleTask模式啟動(dòng)帽哑。

2.singleTop:棧頂復(fù)用模式谜酒。在這種模式下,如果activity已經(jīng)位于任務(wù)棧的棧頂妻枕,那么此activity不會(huì)被重新創(chuàng)建僻族,同時(shí)它的onNewIntent方法會(huì)回調(diào),通過(guò)此方法可以取出當(dāng)前請(qǐng)求的信息佳头。

3.singleTask:棧內(nèi)復(fù)用模式鹰贵,這是一種單實(shí)例模式,在這種模式下康嘉,只要Activity在一個(gè)棧中存在碉输,那么多次啟動(dòng)此activity都不會(huì)創(chuàng)建新的實(shí)例,和singleTop一樣亭珍,系統(tǒng)也會(huì)回調(diào)onNewIntent()方法敷钾。啟動(dòng)此模式的activity A時(shí)枝哄,系統(tǒng)會(huì)首先尋找是否存在A所需要的任務(wù)棧,如果存在需要的任務(wù)棧阻荒,再在該任務(wù)棧中尋找A的實(shí)例挠锥,如果該任務(wù)棧中存在A實(shí)例,那就把A調(diào)到棧頂并調(diào)用onNewIntent侨赡,如果該任務(wù)棧中不存在A實(shí)例蓖租,那么就創(chuàng)建A實(shí)例并把它放到該任務(wù)棧頂;如果不存在A所需要的任務(wù)棧羊壹,那就新創(chuàng)建一個(gè)任務(wù)棧蓖宦,并把新創(chuàng)的A實(shí)例放到棧中。

4.singleInstance:?jiǎn)螌?shí)例模式油猫。這是一種嘉加強(qiáng)的singleTask模式稠茂,它除了具有singleTask所有特性外,還加強(qiáng)了一點(diǎn)情妖,那就是此模式的activity只能單獨(dú)地位于一個(gè)任務(wù)棧中睬关。也就是說(shuō),當(dāng)該模式的activity A啟動(dòng)后毡证,系統(tǒng)會(huì)為它創(chuàng)建一個(gè)任務(wù)棧电爹,然后A獨(dú)自在這個(gè)新的任務(wù)棧中,由于棧內(nèi)復(fù)用的特性料睛,后續(xù)的請(qǐng)求均不會(huì)創(chuàng)建新的實(shí)例藐不,除非該獨(dú)特的任務(wù)棧被系統(tǒng)銷(xiāo)毀。

TaskAffinity:Activity所需要的任務(wù)棧與TaskAffinity(任務(wù)相關(guān)性)有關(guān)秦效,這個(gè)參數(shù)標(biāo)識(shí)了一個(gè)activity所需要的任務(wù)棧的名字,默認(rèn)情況下涎嚼,所有activity所需的任務(wù)棧的名字為應(yīng)用的包名阱州。可以指定TaskAffinity屬性法梯,但不能跟應(yīng)用包名相同苔货。該屬性主要和singleTask啟動(dòng)模式或者allowTaskReparenting屬性配對(duì)使用。

(1)當(dāng)TaskAffinity和singleTask啟動(dòng)模式配對(duì)使用時(shí)立哑,它是具有該模式的Activity的目前任務(wù)棧的名字(任務(wù)棧名字為T(mén)askAffinity指定的)夜惭,待啟動(dòng)的activity會(huì)運(yùn)行在名字和TaskAffinity相同的任務(wù)棧中。

(2)當(dāng)TaskAffinity和allowTaskReparenting結(jié)合的時(shí)候铛绰,這種情況比較復(fù)雜诈茧。舉個(gè)例子,有應(yīng)用A和B捂掰,A啟動(dòng)了B中的Activity C,然后按Home鍵返回桌面敢会,再按B的應(yīng)用圖標(biāo)曾沈,此時(shí)并不是啟動(dòng)B的主Activity,而是重新顯示已經(jīng)被A啟動(dòng)的C鸥昏,或者說(shuō)C從A的任務(wù)棧轉(zhuǎn)移到B的任務(wù)棧塞俱。正常情況下,C是不可能跟A在同一個(gè)任務(wù)棧的(因?yàn)榘煌├艨澹援?dāng)B啟動(dòng)后障涯,B會(huì)創(chuàng)建自己的任務(wù)棧,這時(shí)系統(tǒng)發(fā)現(xiàn)C原本想要的任務(wù)棧已經(jīng)被創(chuàng)建膳汪,所以把C從A的任務(wù)棧轉(zhuǎn)移過(guò)來(lái)唯蝶。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市旅敷,隨后出現(xiàn)的幾起案子生棍,更是在濱河造成了極大的恐慌,老刑警劉巖媳谁,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涂滴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡晴音,警方通過(guò)查閱死者的電腦和手機(jī)柔纵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锤躁,“玉大人搁料,你說(shuō)我怎么就攤上這事∠敌撸” “怎么了郭计?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)椒振。 經(jīng)常有香客問(wèn)我昭伸,道長(zhǎng),這世上最難降的妖魔是什么澎迎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任庐杨,我火速辦了婚禮,結(jié)果婚禮上夹供,老公的妹妹穿的比我還像新娘灵份。我一直安慰自己,他們只是感情好哮洽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布填渠。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揭蜒。 梳的紋絲不亂的頭發(fā)上横浑,一...
    開(kāi)封第一講書(shū)人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音屉更,去河邊找鬼徙融。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瑰谜,可吹牛的內(nèi)容都是我干的欺冀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼萨脑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼隐轩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起渤早,我...
    開(kāi)封第一講書(shū)人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤职车,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后鹊杖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體悴灵,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年骂蓖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了积瞒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡登下,死狀恐怖茫孔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情被芳,我是刑警寧澤缰贝,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站畔濒,受9級(jí)特大地震影響揩瞪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜篓冲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宠哄。 院中可真熱鬧壹将,春花似錦、人聲如沸毛嫉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至暴区,卻和暖如春闯团,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背仙粱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工房交, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伐割。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓候味,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親隔心。 傳聞我的和親對(duì)象是個(gè)殘疾皇子白群,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容