Activity

Activity生命周期?

OnCreate() 當前頁面被創(chuàng)建

onStart() 當前頁面被啟動

onResume() 頁面可視 當前頁面處于棧頂 可以看到 并且 可以與用戶進行交互 就處于這個生命周期

OnPause() 在這個生命周期中 頁面可視 但是 被其他的有所遮擋 不可以與用戶交互 正在停止

onStop() 頁面不可見 即將被GC回收器回收 就處于這個生命周期

onDestory() 當當前界面被銷毀的時候就會走這個生命周期 此時當前頁面已經(jīng)完全被銷毀 GC回收器已經(jīng)將其回收 做出了釋放

onRestart() 當用戶按下返回鍵回到主頁面以后 再次進入App 才會走onRestart


啟動一個Activity:onCreate-onStart-onResume

返回到主界面:onPause-onStop-onDestory

home鍵:onPause-onStop;????然后再次啟動:onRestart-onStart-onResume

從一個Activity跳轉(zhuǎn)到另一個Activity,第一個Activity:onPause-onStop冒签,第二個Activity:onCreate-onStart-onResume

從第二個Activity返回到第一個Activity冕房,第二個onPause-onStop-onDestory,第一個onRestart-onStart-onResume

橫豎屏切換:onPause-onStop-onDestory-onRestart-onStart-onResume

按下電源鍵:onPause-onStop

任務(wù)棧和啟動模式

當我們每打開一個Activity的時候它會就往Activity任務(wù)棧中壓入一個Activity份殿,當我們每銷毀一個Activity的時候它會從Activity任務(wù)棧中彈出一個Activity炕檩,由于安卓系統(tǒng)自身的設(shè)計欲低,我們只能在手機屏幕上獲取當前一個Activity的焦點即棧頂元素(最上面的Activity),其余的Activity會暫居后臺等待系統(tǒng)調(diào)用辑舷。

關(guān)于任務(wù)棧的概念:

任務(wù)棧是用來提升體驗而設(shè)計的:

(1) 程序打開時就創(chuàng)建了一個任務(wù)棧, 用于存儲當前程序的activity,當前程序(包括被當前程序所調(diào)用的)所有的activity屬于一個任務(wù)棧槽片。

(2) 一個任務(wù)棧包含了一個activity的集合, 可以有序的選擇哪一個activity和用戶進行交互何缓,只有在任務(wù)棧棧頂?shù)腶ctivity才可以跟用戶進行交互。

(3) 任務(wù)椈顾ǎ可以移動到后臺碌廓,并且保留了每一個activity的狀態(tài). 并且有序的給用戶列出它們的任務(wù), 而且還不丟失它們狀態(tài)信息。

(4) 退出應(yīng)用程序時剩盒,當把所有的任務(wù)棧中所有的activity清除出棧時,任務(wù)棧會被銷毀,程序退出谷婆。

Activity的4種啟動方式

  為了解決任務(wù)棧產(chǎn)生的問題,Android為Activity設(shè)計了啟動模式辽聊。

  啟動模式(launchMode)在多個Activity跳轉(zhuǎn)的過程中扮演著重要的角色纪挎,它可以解決是否生成新的Activity實例,是否重用已經(jīng)存在的Activity實例跟匆,是否和其他實例共用一個任務(wù)棧异袄。任務(wù)棧是一個具有棧結(jié)構(gòu)的對象,一個任務(wù)椉致粒可以管理多個Activity隙轻,每啟動一個應(yīng)用,也就創(chuàng)建一個與之對應(yīng)的任務(wù)棧垢揩。

Activity一共有以下四種launchMode模式:1玖绿、standard 2、singTop 3叁巨、singTask 4斑匪、singleInstance,我們可以在AndroidManifest.xml配置<activity>的android:launchMode屬性-為以上四種之一即可锋勺。

1?standard蚀瘸。在Activity啟動模式為standard(默認)的情況下,不管之前有沒有Activity實例庶橱,每一次啟動Activity都會創(chuàng)建一個新的Activity實例贮勃,并置于Activity任務(wù)棧棧頂。

2 singTop苏章。在Activity啟動模式為singleTop(棧頂任務(wù)唯一)的情況下寂嘉,如果當前Activity處于棧頂奏瞬,那么它就不會再去實例化一個新的Activity,當Activity不處于棧頂?shù)臅r候泉孩,會重新實例化一個新的Activity并置于棧頂硼端。

3 singTask。在Activity啟動模式為singleTask(唯一實例)的情況下寓搬,當啟動Activity的時候珍昨,如果當前Activity不存在則實例化一個新的Activity,如果當前Activity在任務(wù)棧中已經(jīng)存在句喷,則會復用這個Activity實例

4 singleInstance镣典。和singleTask一樣保持唯一實例,然后它的退出順序是不再是根據(jù)調(diào)用順序脏嚷,而是在不同的任務(wù)棧中骆撇,從上往下退出。

設(shè)置啟動模式設(shè)置啟動模式的方法有兩種

?- 通過在AndroidMainifest文件中的屬性 android:launchMode 來設(shè)置Activity的啟動模式

?- 通過設(shè)置Intent的Flag來設(shè)置一個Activity的啟動模式

Intent.FLAG_ACTIVITY_NEW_TASK 創(chuàng)建一個新的Task來啟動一個Activity父叙,但啟動的每個Activity都將在一個新的Task中,該Flag通常使用于從service中啟動Activity的場景神郊。 - Intent.FLAG_ACTIVITY_SINGLE_TOP 使用singletop的模式來啟動一個Activity - Intent.FLAG_ACTIVITY_CLEAR_TOP 使用singleTask模式來啟動一個Activity - Intent.FLAG_ACTIVITY_NO_HISTORY 使用這種模式啟動Activity,當該Activity啟動其他Activity后趾唱,該Activity就會消失涌乳,不會保留在Activity棧中。 如A-B甜癞,B以這種模式啟動C夕晓,C啟動D,則當前Activity棧中只有ABD悠咱。?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒸辆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子析既,更是在濱河造成了極大的恐慌躬贡,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眼坏,死亡現(xiàn)場離奇詭異拂玻,居然都是意外死亡,警方通過查閱死者的電腦和手機宰译,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門檐蚜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沿侈,你說我怎么就攤上這事闯第。” “怎么了缀拭?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵咳短,是天一觀的道長肃廓。 經(jīng)常有香客問我,道長诲泌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任铣鹏,我火速辦了婚禮敷扫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诚卸。我一直安慰自己葵第,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布合溺。 她就那樣靜靜地躺著卒密,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棠赛。 梳的紋絲不亂的頭發(fā)上哮奇,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音睛约,去河邊找鬼鼎俘。 笑死,一個胖子當著我的面吹牛辩涝,可吹牛的內(nèi)容都是我干的贸伐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼怔揩,長吁一口氣:“原來是場噩夢啊……” “哼捉邢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起商膊,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤伏伐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后翘狱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秘案,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年潦匈,在試婚紗的時候發(fā)現(xiàn)自己被綠了阱高。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡茬缩,死狀恐怖赤惊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凰锡,我是刑警寧澤未舟,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布圈暗,位于F島的核電站,受9級特大地震影響裕膀,放射性物質(zhì)發(fā)生泄漏员串。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一昼扛、第九天 我趴在偏房一處隱蔽的房頂上張望寸齐。 院中可真熱鬧,春花似錦抄谐、人聲如沸渺鹦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毅厚。三九已至,卻和暖如春浦箱,著一層夾襖步出監(jiān)牢的瞬間吸耿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工憎茂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留珍语,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓竖幔,卻偏偏與公主長得像板乙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拳氢,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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

  • Activity 一募逞、四種形態(tài) 運行狀態(tài): 當 Activity 處于棧的頂層,可見馋评,并可與用戶進行交互 onRe...
    任教主來也閱讀 1,634評論 1 10
  • 第一章主要講了以下幾個知識點: Activity生命周期 Activity的啟動模式 IntentFilter匹配...
    Utte閱讀 1,148評論 0 3
  • Android的開發(fā)中我們大部分都是和Activity打交道放接,而想很好的運用Activity首先必須要清楚Acti...
    云天隨筆閱讀 1,207評論 0 1
  • 學習資料: Android群英傳 Android開發(fā)藝術(shù)探索 Activity是與用戶交互的第一接口,感覺說是四大...
    英勇青銅5閱讀 2,489評論 15 41
  • 歲暮天寒留特,雪舞蹁躚纠脾。羈旅地,十載又三蜕青。鄉(xiāng)音偶聞苟蹈,故友難見。夢鄉(xiāng)月明右核,鄉(xiāng)水甜慧脱,兒伴喚。 驊騮向北贺喝,越鳥思南菱鸥。又何懼宗兼,...
    扁舟孑閱讀 1,108評論 6 26