Activity生命周期和啟動(dòng)模式

1、Activity生命周期

activty生命周期過程

a智亮、當(dāng)用戶打開新的Activity或切換到桌面的時(shí)候铅乡,回調(diào)為onpause()->onStop()。如果新Activity采用透明主題鹃唯,則onStop()不調(diào)用

b爱榕、onStart和onStop是從是否可見的角度來回調(diào)的,onResume和onPauset是從是否位于前臺的角度來回調(diào)的

c坡慌、不能再onPause中做重量級的操作黔酥,因?yàn)楸仨歰nPause執(zhí)行完成之后,新的Activity的onResume方法才會(huì)被調(diào)用洪橘,影響體驗(yàn)

d跪者、異常情況下activity被銷毀,其的生命周期會(huì)按順序執(zhí)行熄求,但會(huì)在onDestory前新增onSaveInstanceState和在onCreate后新增onRestoreInstanceState方法渣玲,通過Bundle保存和恢復(fù)數(shù)據(jù),該兩個(gè)方法承兌出現(xiàn)抡四,只有在異常終止Activity時(shí)調(diào)用柜蜈,正常情況不調(diào)用,異常情況包括:資源相關(guān)系統(tǒng)配置改變(橫豎屏切換指巡、系統(tǒng)語言切換等)淑履、系統(tǒng)資源緊張殺死Activity等。

e藻雪、資源相關(guān)系統(tǒng)配置改變不重啟Activity生命周期的方法:添加configChanges屬性值android:configChanges= "orientation|locale"

2秘噪、Activity啟動(dòng)模式

1)standard:標(biāo)準(zhǔn)模式,也是系統(tǒng)默認(rèn)模式勉耀。每次啟動(dòng)一個(gè)Activity都會(huì)重新創(chuàng)建一個(gè)實(shí)例指煎,不管其是否存在蹋偏。誰啟動(dòng)這個(gè)Activity,這個(gè)Activity就運(yùn)行在啟動(dòng)它的那個(gè)組件所在的棧中至壤。當(dāng)我們用ApplicationContext去啟動(dòng)standard模式的Activity時(shí)威始,系統(tǒng)會(huì)報(bào)錯(cuò),因?yàn)榉茿ctivity的Context沒有任務(wù)棧像街。

2)singleTop:棧頂復(fù)用模式黎棠,如果新的Activity已經(jīng)在棧頂,不會(huì)重新創(chuàng)建镰绎,onNewIntent方法會(huì)被調(diào)用脓斩。假設(shè)目前棧內(nèi)從低到頂依次為ABCD,這時(shí)候如果要啟動(dòng)D畴栖,如果D為singleTop模式随静,則D的onNewIntent方法被調(diào)用,棧內(nèi)情況依然為ABCD吗讶,如果D的啟動(dòng)方式的standard則棧內(nèi)情況為ABCDD燎猛。

3)singleTask:棧內(nèi)復(fù)用模式,只要Activity在一個(gè)棧中存在关翎,那么多次啟動(dòng)該Activity都不會(huì)重新創(chuàng)建實(shí)例扛门,只會(huì)調(diào)用器其onNewIntent方法。

4)singleInstance:單例模式纵寝,該啟動(dòng)模式下论寨,系統(tǒng)會(huì)會(huì)為它單獨(dú)創(chuàng)建一個(gè)新的任務(wù)棧,該Activity單獨(dú)運(yùn)行在新的任務(wù)棧中爽茴,后續(xù)請求均不會(huì)再創(chuàng)建新的實(shí)例葬凳,除非該棧被系統(tǒng)銷毀。

a室奏、默認(rèn)情況下Activity的任務(wù)棧為其包名火焰,也可以通過TaskAffinity單獨(dú)為Activity制定任務(wù)棧,屬性值必須包含“.”且不能和包名相同胧沫。一般和singleTask配合使用

b昌简、假設(shè)有ABC三個(gè)Activity,A為默認(rèn)啟動(dòng)方式绒怨,BC為singleTask啟動(dòng)模式且指定其他任務(wù)棧纯赎,現(xiàn)從A啟動(dòng)B,在B再啟動(dòng)C南蹂,從C啟動(dòng)A犬金,再從A啟動(dòng)B,現(xiàn)在點(diǎn)擊兩次返回,會(huì)回到哪個(gè)界面晚顷。answer:桌面峰伙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市该默,隨后出現(xiàn)的幾起案子瞳氓,更是在濱河造成了極大的恐慌,老刑警劉巖栓袖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顿膨,死亡現(xiàn)場離奇詭異,居然都是意外死亡叽赊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門必搞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來必指,“玉大人,你說我怎么就攤上這事恕洲∷穑” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵霜第,是天一觀的道長葛家。 經(jīng)常有香客問我,道長泌类,這世上最難降的妖魔是什么癞谒? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮刃榨,結(jié)果婚禮上弹砚,老公的妹妹穿的比我還像新娘。我一直安慰自己枢希,他們只是感情好桌吃,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苞轿,像睡著了一般茅诱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搬卒,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天瑟俭,我揣著相機(jī)與錄音,去河邊找鬼秀睛。 笑死尔当,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播椭迎,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼锐帜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了畜号?” 一聲冷哼從身側(cè)響起缴阎,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎简软,沒想到半個(gè)月后蛮拔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痹升,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年建炫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疼蛾。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肛跌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出察郁,到底是詐尸還是另有隱情衍慎,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布皮钠,位于F島的核電站稳捆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏麦轰。R本人自食惡果不足惜乔夯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望款侵。 院中可真熱鬧驯嘱,春花似錦、人聲如沸喳坠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽壕鹉。三九已至剃幌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晾浴,已是汗流浹背负乡。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脊凰,地道東北人抖棘。 一個(gè)月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓茂腥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親切省。 傳聞我的和親對象是個(gè)殘疾皇子最岗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

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