Android基礎(chǔ)(一)-Activity生命周期


activity類處于android.app包中,繼承體系如下: java.lang.Object -> android.content.Context  -> android.app.ApplicationContext ->android.app.Activity

創(chuàng)新互聯(lián)公司是少有的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、營銷型企業(yè)網(wǎng)站、重慶小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、買友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年成立,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評(píng)

4大狀態(tài):

Running狀態(tài):一個(gè)新的Activity啟動(dòng)入棧后,它在屏幕最前端,處于棧的最頂端,此時(shí)它處于可見并可和用戶交互的激活狀態(tài)。 Paused狀態(tài):當(dāng)Activity被另一個(gè)透明或者Dialog樣式的Activity覆蓋時(shí)的狀態(tài)。此時(shí)它依然與窗口管理器保持連接,系統(tǒng)繼續(xù)維護(hù)其內(nèi)部狀態(tài),它仍然可見,但它已經(jīng)失去了焦點(diǎn),故不可與用戶交互。 Stopped狀態(tài):當(dāng)Activity不可見時(shí),Activity處于Stopped狀態(tài)。當(dāng)Activity處于此狀態(tài)時(shí),一定要保存當(dāng)前數(shù)據(jù)和當(dāng)前的UI狀態(tài),否則一旦Activity退出或關(guān)閉時(shí),當(dāng)前的數(shù)據(jù)和UI狀態(tài)就丟失了。 Killed狀態(tài):Activity被殺掉以后或者被啟動(dòng)以前,處于Killed狀態(tài)。這是Activity已從Activity堆棧中移除,需要重新啟動(dòng)才可以顯示和使用。

其中,Running狀態(tài)和Paused狀態(tài)是可見的,Stopped狀態(tài)和Killed狀態(tài)時(shí)不可見的。

七大生命周期函數(shù):

1.onCreate()  // 在Activity生命周期開始時(shí)被調(diào)用

2.onRestart() //當(dāng)activity從停止?fàn)顟B(tài)重新啟動(dòng)時(shí)調(diào)用

3.onStart() //當(dāng)activity對(duì)用戶即將可見的時(shí)候調(diào)用。

4.onResume() //當(dāng)activity將要與用戶交互時(shí)調(diào)用此方法,此時(shí)activity在activity棧的棧頂,用戶輸入已經(jīng) 可以傳遞給它

5.onPause()// 當(dāng)系統(tǒng)要啟動(dòng)一個(gè)其他的activity時(shí)調(diào)用(其他的activity顯示之前),這個(gè)方法被用來提交那些持久數(shù)據(jù)的改變、停止動(dòng)畫、和其他占用CPU資源的東西。由于下一個(gè)activity在這個(gè)方法返回之前不會(huì)resumed,所以實(shí)現(xiàn)這個(gè)方法時(shí)代碼執(zhí)行要盡可能快。

6.onStop()// 當(dāng)另外一個(gè)activity恢復(fù)并遮蓋住此activity,導(dǎo)致其對(duì)用戶不再可見時(shí)調(diào)用。一個(gè)新activity啟動(dòng)、其它activity被切換至前景、當(dāng)前activity被銷毀時(shí)都會(huì)發(fā)生這種場(chǎng)景。

7.onDestroy() // 在activity被銷毀前所調(diào)用的最后一個(gè)方法,當(dāng)進(jìn)程終止時(shí)會(huì)出現(xiàn)這種情況

 

 

如圖:

 

 

Android基礎(chǔ)(一)  - Activity生命周期

 

 

幾個(gè)特殊需要注意生命周期示例

1.父Activity啟動(dòng)子Activity,子Actvity退出,父Activity調(diào)用順序如下

onCreate() -> A

onStart()   -> A

onResume()  ->A

onFreeze() -> A

onPause() -> A

onCreate() -> B

onStart()   -> B

onResume()  ->B

onStop()  -> A  (A OnStop是在B”可操作”后執(zhí)行)

onDestory ->A (Maybe)

 

 

2.用戶點(diǎn)擊Home,Actvity調(diào)用順序如下

onCreate()

onStart()

onResume()

onFreeze()

onPause()

onStop() — Maybe

onDestroy() – Maybe

 

 

 

3.在父Activity上顯示透明的或非全屏的activity,Activity調(diào)用順序如下:

onCreate()

onStart()

onResume()

onFreeze()

onPause()

 

4.設(shè)備進(jìn)入睡眠狀態(tài),Activity調(diào)用順序如下:

onCreate()

onStart()

onResume()

onFreeze()

onPause()

當(dāng)前文章:Android基礎(chǔ)(一)-Activity生命周期
網(wǎng)站路徑:http://muchs.cn/article28/ighojp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化、網(wǎng)站排名、服務(wù)器托管、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營