第一章-第2節(jié)Android Activity啟動(dòng)模式

開始學(xué)習(xí)android的時(shí)候就對(duì)這個(gè)有些難以理解,其實(shí)知識(shí)點(diǎn)也就那么幾點(diǎn)咐柜。

首先Android 有4種啟動(dòng)模式
分別為:standard,singleTask,singleTop,singleInstance号俐。
standard模式 :如果在xml中不加任何配置的話邪乍,默認(rèn)是這種模式缅帘。

1. 什么是standard模式?

第一種情況:比如你現(xiàn)在你從A(Activity) startActivity 跳轉(zhuǎn)到B(Activity),那么B(Activity)會(huì)重新走OnCreate劫流,onStart(),onReume方法巫玻。
第二種情況:比如你現(xiàn)在是在A(Activity),startActviity 跳轉(zhuǎn)到A(Activity)
那么A(Activity)也會(huì)重新走OnCreate,onStart(),onReume方法祠汇。
如果現(xiàn)在你按back鍵仍秤,需要2次才會(huì)退出A(Activity)。

其實(shí)說(shuō)了這么多 可以簡(jiǎn)單的理解為只要是standard模式可很,startActviity之后 就相當(dāng)于重新new Activity 然后添加到容器頂部(stack)诗力。
在棧中的情況如下:


image.png
2. 什么是SingleTop模式?

SingleTop和standard很像我抠。唯一和standard不同的是 如果當(dāng)前Activity位于棧頂那么 該Activity不會(huì)被重新創(chuàng)建 會(huì)回調(diào) onNewIntent 方法苇本。

image.png
3. 什么是SingleTask模式?

棧內(nèi)復(fù)用模式菜拓,這是一種單例模式圈澈。
如果當(dāng)前壓ABCD,start D , 棧內(nèi)情況還是ABCD
如果當(dāng)前壓ABCDE尘惧,start D , 棧內(nèi)情況是ABCED

第1種情況 AB -> A = BA :


image.png

第2種情況 AB - > B = AB:


image.png

image.png

第3種情況 :
ABC 為同一個(gè)任務(wù)棧 : AB ->C = ABC
ABC 為不同任務(wù)棧 : AB ->C = AB(stack_S1), C (stack_S2)
可以給C 配置(TaskAffinity+singleTask)屬性那么C就是單獨(dú)的任務(wù)棧递递,
注意TaskAffinity 不能 配置為你的包名喷橙,不然就木有意義了。因?yàn)槟J(rèn)stack配置就是包名登舞。


image.png
4. 什么是SingleInstance模式贰逾?

單實(shí)例模式。
加強(qiáng)版的singleTask模式菠秒。所有singleTask功能外疙剑,唯一區(qū)別就是只能獨(dú)享一個(gè)任務(wù)棧氯迂。而singleTask 只要多個(gè)Acivity都配置相同的TaskAffinity,那么他們都在同一個(gè)任務(wù)棧中言缤。并只有一個(gè)實(shí)例嚼蚀。

關(guān)于多任務(wù)棧有一個(gè)(彈棧)場(chǎng)景:
2個(gè)棧的情況
S1棧 = A(棧底) B
S2棧 = E(棧底) F

第一種情況:
AB -> 啟動(dòng)F后。
按back鍵管挟,依次彈出 F E, BA
第二種情況:
AB -> 啟動(dòng)E后轿曙。
按back鍵,依次彈出 E , BA

總結(jié)4個(gè)模式之間也很有意思僻孝。
standard + X = singleTop
SingleTop + Y = singleTask
singleTask + Z = singleInstance
X:只要當(dāng)前啟動(dòng)Activity在棧頂 我就不創(chuàng)建导帝。
Y:不管當(dāng)前的Activity在不在棧頂 我都不創(chuàng)建(除非當(dāng)前棧中沒(méi)有啟動(dòng)的Activitiy)。
Z:只要啟動(dòng) Activity我就創(chuàng)建一個(gè)獨(dú)享的任務(wù)棧(只能有一個(gè)activity實(shí)列)穿铆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末您单,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子荞雏,更是在濱河造成了極大的恐慌虐秦,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讯檐,死亡現(xiàn)場(chǎng)離奇詭異羡疗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)别洪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門叨恨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人挖垛,你說(shuō)我怎么就攤上這事痒钝。” “怎么了痢毒?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵送矩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我哪替,道長(zhǎng)栋荸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任凭舶,我火速辦了婚禮晌块,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帅霜。我一直安慰自己匆背,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布身冀。 她就那樣靜靜地躺著钝尸,像睡著了一般括享。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上珍促,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天铃辖,我揣著相機(jī)與錄音,去河邊找鬼踢星。 笑死澳叉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沐悦。 我是一名探鬼主播成洗,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼藏否!你這毒婦竟也來(lái)了瓶殃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤副签,失蹤者是張志新(化名)和其女友劉穎遥椿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淆储,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冠场,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了本砰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碴裙。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖点额,靈堂內(nèi)的尸體忽然破棺而出舔株,到底是詐尸還是另有隱情,我是刑警寧澤还棱,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布载慈,位于F島的核電站,受9級(jí)特大地震影響珍手,放射性物質(zhì)發(fā)生泄漏办铡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一琳要、第九天 我趴在偏房一處隱蔽的房頂上張望料扰。 院中可真熱鬧,春花似錦焙蹭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拯钻。三九已至,卻和暖如春撰豺,著一層夾襖步出監(jiān)牢的瞬間粪般,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工污桦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亩歹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓凡橱,卻偏偏與公主長(zhǎng)得像小作,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子稼钩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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

  • Activity的啟動(dòng)模式 1. Activity的LaunchMode 我們知道顾稀,在默認(rèn)情況下,當(dāng)我們多次啟動(dòng)同...
    努力生活的西魚閱讀 359評(píng)論 0 0
  • 1.2 Activity的啟動(dòng)模式 上一節(jié)介紹了Activity在標(biāo)準(zhǔn)情況下和異常情況下的生命周期坝撑,我們對(duì)Acti...
    Chenstyle閱讀 472評(píng)論 0 0
  • 引言 對(duì)Android的啟動(dòng)模式還有些印象静秆,現(xiàn)在項(xiàng)目的一個(gè)需求是:登錄頁(yè)是一個(gè)登錄選擇頁(yè),包含了帳號(hào)密碼登錄巡李、手機(jī)...
    OzanShareing閱讀 1,209評(píng)論 0 2
  • 1抚笔、啟動(dòng)一個(gè)Activity的幾種方式 在Android中我們可以通過(guò)下面兩種方式來(lái)啟動(dòng)一個(gè)新的Activity,...
    常思行閱讀 858評(píng)論 0 0
  • 引言 當(dāng)面試官說(shuō)請(qǐng)你介紹一下activity啟動(dòng)模式,大多數(shù)人都能整兩句侨拦,什么棧頂復(fù)用啊棧內(nèi)復(fù)用啊殊橙,不過(guò),你確定你...
    吳七禁閱讀 7,016評(píng)論 8 76