Activity的生命周期有哪些

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Activity的生命周期有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

10年積累的網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有鳳泉免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Android中Activity的生命周期,網(wǎng)上大多數(shù)文章基本都是直接貼圖、翻譯API,比較籠統(tǒng)含糊不清。

Activity的生命周期有哪些

我就用故事來說一說:

有個人叫User,TA養(yǎng)了幾只貓,有只貓叫Activity。User見證了Activity貓的一生。

Activity的生命周期有哪些

User想要一只小貓(想用一些功能),于是讓一只母貓和一只公貓交配(觸摸屏幕打開Activity界面),

之后經(jīng)過母貓一段時間的孕育(Activity launched),小貓咪出生了(onCreate),取名叫Activity,放在籠子(App)里養(yǎng)。

主人把它抱出來,小貓咪Activity醒來(onStart)睜開眼(onResume),轉(zhuǎn)轉(zhuǎn)頭、伸伸爪子、哭鬧著要吃東西...(Activity running)。

然后主人喂食、和它玩(用戶在Activity上的操作)...

User覺得和Activity一起的時間差不多夠了,就(打開新的Activity)把它關(guān)進籠子,和其它貓一邊玩去了(Another activity comes into the foreground)。

Activity就開始閉目養(yǎng)神(onPause)...

過了一會兒,主人打開籠子,呼喚它的名字(User returns to the activity),它聽到后馬上睜開眼(onResume)跑過去和主人玩耍(Activity running)...

后來主人又把它關(guān)起來然后走了,Activity繼續(xù)閉目養(yǎng)神(onPause)...

再后來主人把燈關(guān)了(The activity is no longer visible),Activity感覺天黑了就睡了(onStop)...

不知道什么時候,主人又回來了,一邊敲籠子、一邊叫著Activity的名字(User navigates to the activity),

Activity被從美夢中拉回了現(xiàn)實世界,恢復(fù)了狀態(tài)(onRestart),然后醒來(onStart)睜開眼(onResume)...

就這樣不知不覺過了很久...

有一次主人(按下主頁、多任務(wù)或電源按鈕)出遠門了,好久沒回來,家里的食物不夠,很快就被大家吃光了(Apps with higher priority need memory)。

由于Activity很弱小(優(yōu)先級低)、還被關(guān)在籠子里(沒有綁定前臺Service),所以吃到的食物很少。

幾頓饑渴后大家都餓昏了,紛紛進入休克狀態(tài)(App process killed)。

主人回來時看到可憐的Activity一動不動地躺著,怎么都叫不醒,就趕緊送去獸醫(yī)院搶救(User navigates to the activity)。

醫(yī)生給它輸了血和營養(yǎng)等(系統(tǒng)重新分給內(nèi)存),經(jīng)過一段時間后Activity終于復(fù)活了,它感覺好像重新從媽媽的肚子里出來一樣(onCreate)。

它醒來(onStart)睜開眼(onResume),和主人打打鬧鬧(Activity running),過了一會兒主人就帶著它回家了...

俗話說,大難不死必有后福,之后主人確實對Activity照顧有加。

可是天有不測風(fēng)云,有一天Activity被一個壞蛋弄死了(The activity is destroyed by the system)。

Activity死了(onDestroy),User很傷心地把它埋了(Activity shut down)...

User很留戀和Activity在一起的時光,心有不甘,于是重新要了一只小貓,名字仍然叫Activity...

Activity一天天長大,主人對它非常寵愛,但它卻越來越叛逆。

終于有一天,主人受夠了,覺得Activity實在太可惡(或者沒有利用價值)就(點擊返回按鈕)把它拋棄了(The activity is finished)...

Activity不適應(yīng)外部惡劣的環(huán)境很快就死了(onDestroy),大自然用風(fēng)和泥土把它埋葬(Activity shut down)...

這就是Activity貓的一生。

ZBLibrary提供了isAlive()、isRunning()等判斷Activity、Fragment生命周期狀態(tài)的方法;

以及runUiThread(Runnable runnable)方法來避免直接runOnUiThread(Runnable runnable)導(dǎo)致在onDestroy后運行崩潰;

還有線程管理類ThreadManager,BaseActivity、BaseFragment內(nèi)可以runThread(String tag, Runnable runnable)很方便地新開線程,

onDestroy后自動釋放,不用擔(dān)心直接new Thread(runnable).start()在onDestroy后還在運行浪費資源,甚至使用被回收的變量導(dǎo)致崩潰等問題。

ZBLibrary-Android快速開發(fā)框架

Activity的生命周期有哪些

上述就是小編為大家分享的Activity的生命周期有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:Activity的生命周期有哪些
網(wǎng)頁鏈接:http://bm7419.com/article32/isgesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、微信公眾號、關(guān)鍵詞優(yōu)化、標簽優(yōu)化、App設(shè)計、網(wǎng)站收錄

廣告

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

網(wǎng)站優(yōu)化排名