Activity的生命周期、生命周期流程以及和四種狀態(tài)介紹-創(chuàng)新互聯(lián)

這篇文章的知識點包括:Activity的生命周期介紹、生命周期流程介紹以及Activity的四種狀態(tài),閱讀完整文相信大家對Activity會有一定的認識。

成都創(chuàng)新互聯(lián)服務(wù)項目包括衛(wèi)濱網(wǎng)站建設(shè)、衛(wèi)濱網(wǎng)站制作、衛(wèi)濱網(wǎng)頁制作以及衛(wèi)濱網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,衛(wèi)濱網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到衛(wèi)濱省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

Activity生命周期的概念:

Activity作為Android的四大組件之一,非常的重要,也是最常用的四大組件,使用Activity必須要在AndroidManifest中進行注冊。Activity相當于一個servlet,我們的Activity處在這個容器中,一切創(chuàng)建實例、初始化、銷毀實例等過程都是容器來調(diào)用的,這也就是所謂的“Don't call me, I'll call you.”機制。

Activity的生命周期流程:

 onCreate()--->onStart()--->onResume()--->onPause()--->onStop()--->onDestory()

 onCreate():當activity是被創(chuàng)建時候,會自動運行該方法。該方法做一些初始化動作,比如創(chuàng)建views,設(shè)置數(shù)據(jù)到list等等,該方法提供了一個Bundle類型的變量,該變量中有這個activity以前的狀態(tài)信息,前提是以前存過這些信息。這個方法執(zhí)行完后執(zhí)行的是onStart()方法;若在onCreate方法中加入finish()方法,onCreate下一個運行onDestroy方法。

onRestart():把activity從onStop狀態(tài)喚醒時,會用onRestart方法,該方法優(yōu)先于再次運行的onStart,運行完onRestart之后運行onStart。若在onRestart()方法中加入finish()語句,則還是會繼續(xù)運行onStart及后面的狀態(tài)方法直到onDestroy運行完

onStart():當activity對用戶可見時會調(diào)用onStart,當activity在前臺顯示時,會運行onResume;當activity還沒在前臺顯示就被隱藏(停止狀態(tài))了會運行onStop(),比如在onStart方法中用了finish()方法的話,onStart()之后就會直接運行onStop->onDestroy。

onResume():當activity開始與用戶交互時,會調(diào)用onResume,并且為了用戶操作此時該activity位于activity棧的頂部。經(jīng)過某些操作后該方法執(zhí)行完后執(zhí)行的是onPause()

onPause():當一個activity運行到onResume方法后,不管是這個activity要銷毀還是要暫?;蛲V梗紩{(diào)用該方法。這個方法之后有可能是onResume也有可能是onStop,若是在這個activity-A中打開一個不完全覆蓋這個activity-A的新activity-B,那么activity-A就會是onPause狀態(tài),當activity-B退出時,activity-A就直接運行onResume(前提是onPause的方法執(zhí)行完了,否則會等onPause方法執(zhí)行完后才運行onResume方法,所以不建議在這個方法中執(zhí)行CPU密集的操作)。若是需要退出activity-A,那么下一個就會執(zhí)行onStop。onPause()用于提交未保存發(fā)生變化了的持久化數(shù)據(jù),及停止動畫及其他其他比較消耗CPU的事件(比如廣播接收器,傳感器(比如GPS),或者消耗電量的資源),這是為了更好的運行新的activity。

onStop():當這個activity完全看不見的時候,會調(diào)用onStop方法,因為另一個activity會調(diào)用onResume并且覆蓋這個activity。以下三種情況都會使這個activity調(diào)用onStop()方法,第一種是一個新的activity被執(zhí)行,第二種是一個已經(jīng)存在的activity被切換到最前端,第三種是這個activity要被銷毀。如果通過用戶召回這個activity,那么會調(diào)用onRestart方法;若這個activity要被銷毀,則調(diào)用onDestroy方法。

onDestroy():當activity銷毀前會調(diào)用該方法,比如發(fā)生如下情況:activity調(diào)用了finish()方法來結(jié)束這個activity,或者因為系統(tǒng)為了節(jié)省空間而臨時銷毀這個activity,這兩個情況可以通過isFinishing()方法判斷。

Activity的四個狀態(tài):

1、running->當前顯示在屏幕的activity(位于任務(wù)棧的頂部),用戶可見狀態(tài)。

2、poused->依舊在用戶可見狀態(tài),但是界面焦點已經(jīng)失去,此Activity無法與用戶進行交互。

3、stopped->用戶看不到當前界面,也無法與用戶進行交互 完全被覆蓋。

4、killed->當前界面被銷毀,等待這系統(tǒng)被回收。

看完上述內(nèi)容,你們對Activity有進一步的了解嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當前名稱:Activity的生命周期、生命周期流程以及和四種狀態(tài)介紹-創(chuàng)新互聯(lián)
當前地址:http://muchs.cn/article38/ceessp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、虛擬主機、營銷型網(wǎng)站建設(shè)網(wǎng)站導航、微信公眾號關(guān)鍵詞優(yōu)化

廣告

聲明:本網(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)

搜索引擎優(yōu)化