Activity(活動(dòng))

一胁勺、Activity的基本概念:

Activity是Android的四大組件之一世澜,Activity是一個(gè)應(yīng)用組件,用戶可與其提供的屏幕進(jìn)行交互署穗,以執(zhí)行撥打電話寥裂、拍攝照片、發(fā)送電子郵件或查看地圖等操作案疲。 每個(gè) Activity 都會(huì)獲得一個(gè)用于繪制其用戶界面的窗口封恰。窗口通常會(huì)充滿屏幕,但也可小于屏幕并浮動(dòng)在其他窗口之上褐啡。一個(gè)應(yīng)用通常由多個(gè)彼此松散聯(lián)系的 Activity 組成诺舔。

二、Activity的生命周期:

2.1 onCreate():表示Activity正在被創(chuàng)建备畦,這是Activity生命周期的第一個(gè)方法低飒。可以做一些初始化的工作(加載布局資源懂盐、初始化所需要的數(shù)據(jù)等)褥赊,但是不要做耗時(shí)的工作。

2.2 onStart():Activity在屏幕上由不可見(jiàn)變?yōu)榭梢?jiàn)的時(shí)候該方法被調(diào)用莉恼。這時(shí)界面是不可交互的拌喉。

2.3 onResume():表明Activity已經(jīng)創(chuàng)建完成,并且可以開(kāi)始活動(dòng)了俐银,這個(gè)時(shí)候用戶已經(jīng)可以看到界面了尿背,并且即將與用戶交互。

2.4 onPause():在Activity處于可見(jiàn)但不可見(jiàn)交互時(shí)候該方法被調(diào)用悉患〔屑遥可以在這個(gè)方法中將一些消耗CPU的資源釋放掉,以及保存活動(dòng)狀態(tài)售躁。

2.5 onStop():表示Activity即將停止坞淮,可以做一些稍微重量級(jí)的回收工作,同樣也不能太耗時(shí)陪捷。

2.6 onRestart():表示Activity正在重新啟動(dòng)回窘。一般情況下,在Activity從不可見(jiàn)重新變?yōu)榭梢?jiàn)的狀態(tài)時(shí)onRestart就會(huì)被調(diào)用市袖。這種情形通常是由于用戶的行為所導(dǎo)致的啡直,比如用戶按下Home鍵切換到桌面或者打開(kāi)了一個(gè)新的Activity(這時(shí)當(dāng)前Activity會(huì)暫停烁涌,也就是onPause和onStop被執(zhí)行),接著用戶又回到了這個(gè)Activity酒觅,就會(huì)調(diào)用onRestart()撮执。

2.7 onDestroy():表示Activity即將被銷毀,這是Activity生命周期的最后一個(gè)回調(diào)舷丹,可以做一些回收工作和資源釋放抒钱。

2.8生命周期順序如圖:


Activity的生命周期

2.8.1 各種情況下執(zhí)行生命周期的情況:

當(dāng)啟動(dòng)OneActivity執(zhí)行生命周期的情況:第一次啟動(dòng)的時(shí)候,會(huì)依次執(zhí)行onCreate()–>onStart()–>onResume()

關(guān)閉OneActivity時(shí)情況:關(guān)閉OneActivity颜凯,依次執(zhí)行onPause()–>onStop()–>onDestroy()

在OneActivity界面中按home鍵谋币,然后在進(jìn)入OneActivity時(shí)執(zhí)行生命周期情況:onPause()–>onStop() –>onRestart()–>onStart()–>onResume()

從OneActivity啟動(dòng)TwoActivity執(zhí)行情況:OneActivity的onPause()–>然后執(zhí)行TwoActivity的onCreate()–>onStart()–>onResume()–>最后再執(zhí)行OneActivity的onStop()

從TwoActivity中返回到OneActivity時(shí)執(zhí)行情況:執(zhí)行TwoActivity的onPause()–>然后執(zhí)行OneActivity的onRestart()–>onStart()–>onResume()–>再執(zhí)行TwoActivity的onStop()–>onDestroy()

橫豎屏切換的情況:onSaveInstance()–>onStop()–>onDestroy()–>onCreate()–>onStart()–>onRestoreInstance()–>onResume()

三、Activity生命周期的四種狀態(tài):

3.1 運(yùn)行狀態(tài):當(dāng)Activity位于任務(wù)棧的棧頂時(shí)症概,則Activity處于運(yùn)行狀態(tài)蕾额。

3.2 暫停狀態(tài):當(dāng)Activity不再處于棧頂位置,但依然可見(jiàn)時(shí)彼城,則Activity就進(jìn)入了暫停狀態(tài)诅蝶。

3.3 停止?fàn)顟B(tài):當(dāng)Activity不再處于棧頂位置,并且完全不可見(jiàn)的時(shí)候精肃,這時(shí)Activity就進(jìn)入了停止?fàn)顟B(tài)秤涩。

3.4 銷毀狀態(tài):當(dāng)Activity從任務(wù)棧中移除后就變成了銷毀狀態(tài)帜乞。

四司抱、Activity的4種啟動(dòng)方式:

4.1 standard標(biāo)準(zhǔn)模式

Activity的默認(rèn)啟動(dòng)模式,在standard模式下黎烈,每當(dāng)啟動(dòng)一個(gè)新的Activity习柠,它就會(huì)進(jìn)入任務(wù)棧,并處于棧頂?shù)奈恢谜掌澹瑢?duì)于使用standard模式的Activity资溃,系統(tǒng)不會(huì)判斷該Activity在棧中是否存在,每次啟動(dòng)都會(huì)創(chuàng)建一個(gè)新的實(shí)例烈炭。

4.2 singleTop啟動(dòng)模式

singleTop啟動(dòng)模式與standard類似溶锭,不同的是,當(dāng)啟動(dòng)的Activity已經(jīng)位于棧頂時(shí)符隙,則直接使用它不創(chuàng)建新的實(shí)例趴捅。如果啟動(dòng)的Activity沒(méi)有位于棧頂時(shí),則創(chuàng)建一個(gè)新的實(shí)例位于棧頂霹疫。

4.3 singleTask模式

指定此模式拱绑,該Activity只存在一個(gè)實(shí)例。每次啟動(dòng)該Activity時(shí)丽蝎,系統(tǒng)首先會(huì)檢查棧中是否存在該活動(dòng)的實(shí)例猎拨,如果發(fā)現(xiàn)已經(jīng)存在則直接使用該實(shí)例,并將當(dāng)前Activity之上的所有Activity出棧,如果沒(méi)有發(fā)現(xiàn)則創(chuàng)建一個(gè)新的實(shí)例红省。

4.4 singleInstance模式

Activity在整個(gè)系統(tǒng)中只有一個(gè)實(shí)例额各,不同上述三種模式,此模式的Activity會(huì)啟動(dòng)一個(gè)新的任務(wù)棧來(lái)管理這個(gè)Activity吧恃。

singleInstance模式加載Activity時(shí)臊泰,無(wú)論從哪個(gè)任務(wù)棧中啟動(dòng)該Activity,只會(huì)創(chuàng)建一個(gè)Activity實(shí)例蚜枢,并且會(huì)使用一個(gè)全新的任務(wù)棧來(lái)裝載該Activity實(shí)例缸逃。采用這種模式啟動(dòng)Activity會(huì)分為以下兩種情況,具體如下:

第一種:如果要啟動(dòng)的Activity不存在厂抽,系統(tǒng)會(huì)先創(chuàng)建一個(gè)新的任務(wù)棧需频,再創(chuàng)建該Activity的實(shí)例,并把該Activity加入棧頂筷凤。

第二種:如果要啟動(dòng)的Activity已經(jīng)存在昭殉,無(wú)論位于哪個(gè)應(yīng)用程序或者哪個(gè)任務(wù)棧中。系統(tǒng)都會(huì)把該Activity所在的任務(wù)棧轉(zhuǎn)到前臺(tái)藐守,從而使該Activity顯示出來(lái)挪丢。

五、備注

知識(shí)摘抄于網(wǎng)絡(luò)卢厂,如有雷同乾蓬,見(jiàn)諒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慎恒,一起剝皮案震驚了整個(gè)濱河市任内,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌融柬,老刑警劉巖死嗦,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異粒氧,居然都是意外死亡越除,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)外盯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摘盆,“玉大人,你說(shuō)我怎么就攤上這事门怪÷獬海” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵掷空,是天一觀的道長(zhǎng)肋殴。 經(jīng)常有香客問(wèn)我囤锉,道長(zhǎng),這世上最難降的妖魔是什么护锤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任官地,我火速辦了婚禮,結(jié)果婚禮上烙懦,老公的妹妹穿的比我還像新娘驱入。我一直安慰自己,他們只是感情好氯析,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布亏较。 她就那樣靜靜地躺著,像睡著了一般掩缓。 火紅的嫁衣襯著肌膚如雪雪情。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天你辣,我揣著相機(jī)與錄音巡通,去河邊找鬼。 笑死舍哄,一個(gè)胖子當(dāng)著我的面吹牛宴凉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播表悬,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼弥锄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了签孔?” 一聲冷哼從身側(cè)響起叉讥,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤窘行,失蹤者是張志新(化名)和其女友劉穎饥追,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體罐盔,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡但绕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惶看。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捏顺。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纬黎,靈堂內(nèi)的尸體忽然破棺而出幅骄,到底是詐尸還是另有隱情,我是刑警寧澤本今,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布拆座,位于F島的核電站主巍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏挪凑。R本人自食惡果不足惜孕索,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望躏碳。 院中可真熱鬧搞旭,春花似錦、人聲如沸菇绵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咬最。三九已至恳啥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丹诀,已是汗流浹背钝的。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铆遭,地道東北人硝桩。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像枚荣,于是被迫代替她去往敵國(guó)和親碗脊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

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

  • 文 | 彼懷 不因后果的存在 不因結(jié)局的善惡 向我這種天生骯臟的意識(shí) 人類都會(huì)厭惡 可我不明白 為什么 你們對(duì)我避...
    彼懷閱讀 286評(píng)論 0 16
  • 我矢劲,李瑩,屬牛的慌随,但在生活的海洋里我是最不牛的芬沉。做什么事優(yōu)柔寡斷畏畏縮縮,看了許多女漢子電影阁猜、電視丸逸,讀了許多勵(lì)志書(shū)...
    王佳恩閱讀 144評(píng)論 0 0
  • 姓名:郭金 學(xué)號(hào):17101223407 【嵌牛導(dǎo)讀】:ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序...
    寶寶啦啦啦閱讀 308評(píng)論 2 0
  • 人生長(zhǎng)短剃袍, 痛苦彌多黄刚, 快樂(lè)不減。 我躊躇民效,滿懷心事憔维, 繼續(xù)前行侍芝, 或是換道而行!
    和自己獨(dú)處閱讀 184評(píng)論 0 0