做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ù)棧中烹玉。
Android啟動(dòng)模式——LaunchMode
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門厉颤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凡简,你說我怎么就攤上這事逼友。” “怎么了秤涩?”我有些...
- 文/不壞的土叔 我叫張陵帜乞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我筐眷,道長(zhǎng)黎烈,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任匀谣,我火速辦了婚禮照棋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘武翎。我一直安慰自己烈炭,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布宝恶。 她就那樣靜靜地躺著梳庆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卑惜。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼消请,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了类腮?” 一聲冷哼從身側(cè)響起臊泰,我...
- 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚜枢,沒想到半個(gè)月后缸逃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體针饥,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年需频,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丁眼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站吃靠,受9級(jí)特大地震影響硫眨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巢块,卻給世界環(huán)境...
- 文/蒙蒙 一礁阁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧族奢,春花似錦姥闭、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至廊敌,卻和暖如春铜跑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骡澈。 一陣腳步聲響...
- 正文 我出身青樓囤锉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親护锤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子官地,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 一、概述 Activity 作為與用戶交互的一個(gè)窗口烙懦,是使用非常頻繁的一個(gè)基本組件驱入。Android系統(tǒng)是通過Act...
- Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
- 本文出自 “阿敏其人” 簡(jiǎn)書博客沧侥,轉(zhuǎn)載或引用請(qǐng)注明出處可霎。 Android-Activity所應(yīng)該了解的大概就這樣。...
- 準(zhǔn)備開發(fā)一個(gè)SDK宴杀,方便各項(xiàng)目統(tǒng)一集成癣朗。自己開發(fā)的功能封裝起來還算容易,但是有時(shí)候需要借助一些三方的SDK旺罢,我們不...