Android Activity組件-生命周期

正常情況下撩满,除了Window,Dialog和Toast担神,我們能見到的界面只有Activity怕磨。

典型情況下的生命周期:


圖 1.?Activity 生命周期。

(1) onCreate:表示Activity 正在被創(chuàng)建置尔。此方法中我們可以做初始化工作杠步,調(diào)用setContentView加載頁面布局資源,初始化Activity所需數(shù)據(jù)榜轿。

(2)onRestart 幽歼,Activity重新啟動,從后臺恢復(fù)過來谬盐。onPause和onStop執(zhí)行過了甸私。

(3)onStart:Activity正在被啟動,已經(jīng)可見但沒有在前臺飞傀,無法與用戶交互皇型。

(4)onResume:Activity已經(jīng)可見诬烹,出現(xiàn)在前臺。

(5)onPause:Activity停止運行弃鸦,緊接著onStop會被調(diào)用绞吁。此時可以做一些存儲數(shù)據(jù),停止動畫的工作唬格。但不能太耗時間家破,新的Acitivity在前一個Activity 的onPause執(zhí)行完之后,執(zhí)行onResume

(6)onStop:Activity即將停止购岗,可以做一些稍微重量級的回收工作员舵。

(7)onDestroy:表示Activity即將銷毀。做資源回收工作和最后的資源釋放藕畔。



1. 針對一個特定的Activity马僻,第一次啟動,回調(diào):onCreat->onStart->onResume.

2. 用戶打開新的Activity注服,或者切換會桌面時韭邓,回調(diào):onPause->onStop.

注意:如果新的Activity 采取了透明主題,則當(dāng)前的Activity不會回調(diào)onStop

3. 當(dāng)用戶再次回到Activity時溶弟,回調(diào):onRestart->onStart->onResume.

4. 當(dāng)用戶按back鍵回退是女淑,回調(diào):onPause->onStop->onDestroy

5.當(dāng)Activity被系統(tǒng)回收重新打開步驟和1一樣

6.onCreate <->onDestroy

? ?onStart<->onStop

? ?onResume<->onPause



異常情況下的生命周期

1. 資源的相關(guān)配置發(fā)生改變導(dǎo)致的Activity被殺死并重新創(chuàng)建




正常和異常Activity的重建過程

onSaveInstanceState()和onRestoreInstanceState(),系統(tǒng)自動為我們做了恢復(fù)工作辜御。

旋轉(zhuǎn)屏幕也算異常終止Activity

系統(tǒng)只在Activity異常終止的時候才會調(diào)用onSaveInstanceState 和onRestroeInstanceState來存儲和恢復(fù)數(shù)據(jù)鸭你,替他情況下不會出發(fā)這個過程。

2. 資源內(nèi)存不足導(dǎo)致低優(yōu)先級的Activity被殺死

Activity的優(yōu)先級:見http://www.reibang.com/p/f880733d07d5

當(dāng)系統(tǒng)的配置發(fā)生改變后擒权,Activity會被重新創(chuàng)建袱巨,如果不像系統(tǒng)重新創(chuàng)建Activity,可以給Activity指定configChanges屬性碳抄。不像讓Activity在屏幕旋轉(zhuǎn),或者鍵盤消失的時候重建愉老,

eg:android:configChanges="orientation|keyBoardHidden"

列出 Activity 將自行處理的配置更改。在運行時發(fā)生配置更改時剖效,默認情況下會關(guān)閉 Activity 然后將其重新啟動嫉入,但使用該屬性聲明配置將阻止 Activity 重新啟動。 Activity 反而會保持運行狀態(tài)璧尸,并且系統(tǒng)會調(diào)用其?onConfigurationChanged()?方法咒林。

:應(yīng)避免使用該屬性,并且只應(yīng)在萬不得已的情況下使用爷光。 如需了解有關(guān)如何正確處理配置更改所致重新啟動的詳細信息垫竞,請閱讀處理運行時變更

任何或所有下列字符串均是該屬性的有效值瞎颗。多個值使用“|”分隔 — 例如件甥,“l(fā)ocale|navigation|orientation”。


所有這些配置變更都可能影響應(yīng)用看到的資源值哼拔。 因此引有,調(diào)用?onConfigurationChanged()?時,通常有必要再次獲取所有資源(包括視圖布局倦逐、可繪制對象等)譬正,以正確處理變化。


但是檬姥,自從Android 3.2(API 13)曾我,在設(shè)置Activity的android:configChanges="orientation|keyboardHidden"后,還是一樣會重新調(diào)用各個生命周期的健民。因為screen size也開始跟著設(shè)備的橫豎切換而改變抒巢。所以,在AndroidManifest.xml里設(shè)置的MiniSdkVersion和 TargetSdkVersion屬性大于等于13的情況下秉犹,如果你想阻止程序在運行時重新加載Activity蛉谜,除了設(shè)置"orientation",你還必須設(shè)置"ScreenSize"崇堵。

解決方法:

AndroidManifest.xml中設(shè)置android:configChanges="orientation|screenSize“

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末型诚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鸳劳,更是在濱河造成了極大的恐慌狰贯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赏廓,死亡現(xiàn)場離奇詭異涵紊,居然都是意外死亡,警方通過查閱死者的電腦和手機幔摸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門栖袋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人抚太,你說我怎么就攤上這事塘幅。” “怎么了尿贫?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵电媳,是天一觀的道長。 經(jīng)常有香客問我庆亡,道長匾乓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任又谋,我火速辦了婚禮拼缝,結(jié)果婚禮上娱局,老公的妹妹穿的比我還像新娘。我一直安慰自己咧七,他們只是感情好衰齐,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著继阻,像睡著了一般耻涛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瘟檩,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天抹缕,我揣著相機與錄音,去河邊找鬼墨辛。 笑死卓研,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的睹簇。 我是一名探鬼主播鉴分,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼带膀!你這毒婦竟也來了志珍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤垛叨,失蹤者是張志新(化名)和其女友劉穎伦糯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗽元,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡敛纲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了剂癌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淤翔。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖佩谷,靈堂內(nèi)的尸體忽然破棺而出旁壮,到底是詐尸還是另有隱情,我是刑警寧澤谐檀,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布抡谐,位于F島的核電站,受9級特大地震影響桐猬,放射性物質(zhì)發(fā)生泄漏麦撵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望免胃。 院中可真熱鬧音五,春花似錦、人聲如沸羔沙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撬碟。三九已至诞挨,卻和暖如春莉撇,著一層夾襖步出監(jiān)牢的瞬間呢蛤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工棍郎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留其障,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓涂佃,卻偏偏與公主長得像励翼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子辜荠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

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