国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

安卓activity的基礎(chǔ)知識(shí)

2019-11-09 14:44:23
字體:
供稿:網(wǎng)友

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

一. Activity的生命周期

1.完整生存期活動(dòng)在 onCreate()方法和onDestroy()方法之間所經(jīng)歷的,就是完整生存期。一般情況下,一個(gè)活動(dòng)會(huì)在 onCreate()方法中完成各種初始化操作,而在onDestroy()方法中完成釋放內(nèi)存的操作。

2. 可見生存期活動(dòng)在 onStart()方法和onStop()方法之間所經(jīng)歷的,就是可見生存期。在可見生存期內(nèi),活動(dòng)對(duì)于用戶總是可見的,即便有可能無法和用戶進(jìn)行交互。我們可以通過這兩個(gè)方法,合理地管理那些對(duì)用戶可見的資源。比如在 onStart()方法中對(duì)資源進(jìn)行加載,而在 onStop()方法中對(duì)資源進(jìn)行釋放, 從而保證處于停止?fàn)顟B(tài)的活動(dòng)不會(huì)占用過多內(nèi)存。

3. 前臺(tái)生存期活動(dòng)在 onResume()方法和onPause()方法之間所經(jīng)歷的,就是前臺(tái)生存期。在前臺(tái)生存期內(nèi),活動(dòng)總是處于運(yùn)行狀態(tài)的,此時(shí)的活動(dòng)是可以和用戶進(jìn)行相互的,我們平時(shí)看到和接觸最多的也這個(gè)狀態(tài)下的活動(dòng)。 (有窗口活動(dòng)時(shí))

二、Activity得啟動(dòng)模式

1.standard 系統(tǒng)的默認(rèn)模式在standard 模式(即默認(rèn)情況)下,每當(dāng)啟動(dòng)一個(gè)新的活動(dòng),它就會(huì)在返回棧中入棧,并處于棧頂?shù)奈恢谩?duì)于使用standard 模式的活動(dòng),系統(tǒng)不會(huì)在乎這個(gè)活動(dòng)是否已經(jīng)在返回棧中存在,每次啟動(dòng)都會(huì)創(chuàng)建該活動(dòng)的一個(gè)新的實(shí)例。                        2.singleTop 當(dāng)活動(dòng)的啟動(dòng)模式指定為 singleTop,在啟動(dòng)活動(dòng)時(shí)如果發(fā)現(xiàn)返回棧的棧頂已經(jīng)是該活動(dòng),則認(rèn)為可以直接使用它,不會(huì)再創(chuàng)建新的活動(dòng)實(shí)例。但是當(dāng)前活動(dòng)如果不在棧頂,還是會(huì)重新創(chuàng)建活動(dòng)的。3.singleTask當(dāng)活動(dòng)的啟動(dòng)模式指定為singleTask,每次啟動(dòng)該活動(dòng)時(shí)系統(tǒng)首先會(huì)在返回棧中檢查是否存在該活動(dòng)的實(shí)例,如果發(fā)現(xiàn)已經(jīng)存在則直接使用該實(shí)例,并把在這個(gè)活動(dòng)之上的所有活動(dòng)統(tǒng)統(tǒng)出棧,如果沒有發(fā)現(xiàn)就會(huì)創(chuàng)建一個(gè)新的活動(dòng)實(shí)例。4.singleInstance指定為singleInstance 模式的活動(dòng)會(huì)啟用一個(gè)新的返回棧來管理這個(gè)活動(dòng)(其實(shí)如果 singleTask模式指定了不同的 taskAffinity,也會(huì)啟動(dòng)一個(gè)新的返回棧) 圖中的活動(dòng)2 就新開了活動(dòng)棧按下 Back 鍵進(jìn)行返回, 發(fā)現(xiàn) ThirdActivity直接返回到了 FirstActivity,再按下 Back 鍵又會(huì)返回到 SecondActivity,再按下 Back 鍵才會(huì)退出程序,這是為什么呢?其實(shí)原理很簡(jiǎn)單,由于 FirstActivity 和ThirdActivity 是存放在同一個(gè)返回棧里的,當(dāng)在ThirdActivity 的界面按下Back 鍵,ThirdActivity會(huì)從返回棧中出棧,那么 FirstActivity就成為了棧頂活動(dòng)顯示在界面上,因此也就出現(xiàn)了從 ThirdActivity 直接返回到FirstActivity 的情況。然后在 FirstActivity 界面再次按下Back 鍵,這時(shí)當(dāng)前的返回棧已經(jīng)空了,于是就顯示了另一個(gè)返回棧的棧頂活動(dòng),即 SecondActivity。最后再次按下Back 鍵,這時(shí)所有返回棧都已經(jīng)空了,也就自然退出了程序
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 年辖:市辖区| 佛冈县| 来凤县| 莱芜市| 丰台区| 丽江市| 铁力市| 尼玛县| 商河县| 清镇市| 盐池县| 安龙县| 静宁县| 平昌县| 新野县| 清流县| 平利县| 浦江县| 仁寿县| 曲阳县| 兰坪| 沂源县| 明光市| 会理县| 康马县| 盐津县| 黑龙江省| 彰武县| 徐州市| 万荣县| 广平县| 轮台县| 海伦市| 囊谦县| 新蔡县| 德兴市| 东至县| 元氏县| 改则县| 永丰县| 海林市|