Android啟動(dòng)模式——LaunchMode

做Android好幾年了行嗤,如果剛?cè)胄械臅r(shí)候問我Android的啟動(dòng)模式有幾種,各有什么區(qū)別,可能我可以回答的很流利鹦倚,但是現(xiàn)在發(fā)現(xiàn)連這個(gè)基礎(chǔ)性的問題都開始淡忘了,因此這里特別的作個(gè)記錄冀惭。
Android的啟動(dòng)模式分四種:
1震叙、standard:標(biāo)準(zhǔn)模式,這是Android系統(tǒng)默認(rèn)的模式散休,也就是每次啟動(dòng)一個(gè)Activity媒楼,都會(huì)創(chuàng)建一個(gè)新的實(shí)例,不管這個(gè)實(shí)例是否已經(jīng)存在戚丸。這種模式應(yīng)該很好理解划址。
當(dāng)我們使用Application的Context來啟動(dòng)一個(gè)Activity的時(shí)候,會(huì)報(bào)AndroidRuntimeException限府,因?yàn)閟tandard模式下啟動(dòng)的Activity夺颤,會(huì)默認(rèn)進(jìn)入啟動(dòng)它的Activity的任務(wù)棧中,而非Activity類型的context卻并沒有所謂的任務(wù)棧胁勺,所以就會(huì)出現(xiàn)問題世澜,解決這個(gè)問題的方法是需要為要啟動(dòng)的Activity指定標(biāo)記位:FLAG_ACTIVITY_NEW_TASK,這個(gè)標(biāo)記的作用是為啟動(dòng)的Activity創(chuàng)建一個(gè)新的任務(wù)棧署穗。
2寥裂、singleTop:棧頂復(fù)用模式嵌洼。這個(gè)模式簡(jiǎn)單來說就是,如果當(dāng)前要啟動(dòng)的Activity已經(jīng)位于任務(wù)棧頂封恰,則此Activity不會(huì)重新創(chuàng)建麻养,他的onCreate、onStart方法不會(huì)被調(diào)用俭驮,這時(shí)候會(huì)回調(diào)的方法是onNewIntent回溺,我們可以在這個(gè)方法中做一些初始化的操作。如果我們要啟動(dòng)的Activity沒有位于棧頂混萝,那么系統(tǒng)還是會(huì)為我們創(chuàng)建一個(gè)新的實(shí)例遗遵,這時(shí)候走的就是正常的Activity的生命周期。
3逸嘀、singleTask:?jiǎn)螌?shí)例模式车要,也叫棧內(nèi)復(fù)用模式。在這種模式下崭倘,整個(gè)任務(wù)棧中只能存在一個(gè)實(shí)例翼岁,盡管多次啟動(dòng),也不會(huì)重復(fù)創(chuàng)建實(shí)例司光,同時(shí)也是onNewIntent方法被調(diào)用琅坡。除了standard,我平時(shí)用的比較多的就是singleTask了残家。這種模式有一個(gè)好處榆俺,就是它有clearTop的效果。比如當(dāng)前棧中實(shí)例的順序是ABCD坞淮,如果B是singleTask模式茴晋,這時(shí)候啟動(dòng)B,則系統(tǒng)會(huì)把B移到棧頂顯示回窘,同時(shí)銷毀CD兩個(gè)實(shí)例诺擅,只剩AB。
4啡直、singlnstance:?jiǎn)螌?shí)例模式烁涌。它具有singleTsk模式的所有特性,同時(shí)加強(qiáng)了一點(diǎn)付枫,就是這種模式的Activity只能單獨(dú)的位于一個(gè)任務(wù)棧中烹玉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市阐滩,隨后出現(xiàn)的幾起案子二打,更是在濱河造成了極大的恐慌,老刑警劉巖掂榔,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件继效,死亡現(xiàn)場(chǎng)離奇詭異症杏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瑞信,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門厉颤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凡简,你說我怎么就攤上這事逼友。” “怎么了秤涩?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵帜乞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我筐眷,道長(zhǎng)黎烈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任匀谣,我火速辦了婚禮照棋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘武翎。我一直安慰自己烈炭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布宝恶。 她就那樣靜靜地躺著梳庆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卑惜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天驻售,我揣著相機(jī)與錄音露久,去河邊找鬼。 笑死欺栗,一個(gè)胖子當(dāng)著我的面吹牛毫痕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迟几,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼消请,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了类腮?” 一聲冷哼從身側(cè)響起臊泰,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚜枢,沒想到半個(gè)月后缸逃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體针饥,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年需频,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丁眼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昭殉,死狀恐怖苞七,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挪丢,我是刑警寧澤蹂风,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站吃靠,受9級(jí)特大地震影響硫眨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巢块,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一礁阁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧族奢,春花似錦姥闭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廊敌,卻和暖如春铜跑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骡澈。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工锅纺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肋殴。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓囤锉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親护锤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子官地,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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