Android Activity中onStart()和onResume()的區(qū)別分析
本文分析了Android Activity中onStart()和onResume()的區(qū)別。分享給大家供大家參考,具體如下:
首先你要知道Activity的四種狀態(tài):
① Active/Runing 一個(gè)新 Activity 啟動(dòng)入棧后,它在屏幕最前端,處于棧的最頂端,此時(shí)它處于可見并可和用戶交互的激活狀態(tài)。
② Paused 當(dāng) Activity 被另一個(gè)透明或者 Dialog 樣式的 Activity 覆蓋時(shí)的狀態(tài)。此時(shí)它依然與窗口管理器保持連接,系統(tǒng)繼續(xù)維護(hù)其內(nèi)部狀態(tài),所以它仍然可見,但它已經(jīng)失去了焦點(diǎn)故不可與用戶交互。
③ oped 當(dāng) Activity 被另外一個(gè) Activity 覆蓋、失去焦點(diǎn)并不可見時(shí)處于 Stoped 狀態(tài)。
④ Killed Activity 被系統(tǒng)殺死回收或者沒有被啟動(dòng)時(shí)處于 Killed 狀態(tài)。
分析:
protected void onStart() 該方法在 onCreate() 方法之后被調(diào)用,或者在 Activity 從 Stop 狀態(tài)轉(zhuǎn)換為 Active 狀態(tài)時(shí)被調(diào)用,一般執(zhí)行了onStart()后就執(zhí)行onResume()。
protected void onResume() 在 Activity 從 Pause 狀態(tài)轉(zhuǎn)換到 Active 狀態(tài)時(shí)被調(diào)用。
onResume是activity獲得用戶焦點(diǎn),在與用戶交互
onStart是activity用戶可見,包括有一個(gè)activity在他上面,但沒有將它完全覆蓋,用戶可以看到部分activity但不能與它交互。
補(bǔ)充:Android Activity中的六個(gè)主要函數(shù)
Android中一個(gè)Activity一般都需要實(shí)現(xiàn)六個(gè)函數(shù):
onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy().
1. onCreate函數(shù):注冊(cè)你要用到的變量,比如說service,receiver,這些變量是無論你的Activity是在前臺(tái)還是在后臺(tái)都能夠被響應(yīng)到的,然后調(diào)用上面那個(gè)用來初始化的函數(shù)初始化布局信息。
2. onStart函數(shù):注冊(cè)一些變量。這些變量必須在Android Activity類在前臺(tái)的時(shí)候才能夠被響應(yīng)。
3. onResume函數(shù):調(diào)用一些刷新UI的函數(shù),每當(dāng)Activity調(diào)用到這里時(shí)就要刷新一下UI各控件的狀態(tài)。
4. onPause函數(shù):一般是做一些變量的設(shè)置,因?yàn)檫@個(gè)時(shí)候Activity馬上就要切到后臺(tái)處理,可能有些變量就要被釋放掉或者狀態(tài)要做些相應(yīng)的調(diào)整。
5. onStop函數(shù):反注冊(cè)在onStart函數(shù)中注冊(cè)的變量。
6. onDestory函數(shù):反注冊(cè)在onCreate函數(shù)中注冊(cè)的變量。
在Android-Hello中,
public class UbiLrnActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
首先,聲明了一個(gè)onCreate函數(shù),這個(gè)函數(shù)的傳入?yún)?shù)是savedInstanceState.型別是Bundle,Bundle是一個(gè)數(shù)據(jù)參數(shù),一般用于Activity之間的數(shù)據(jù)傳送。onCreate()的參數(shù)都是Bundle類的。
super.onCreate表示的是調(diào)用父類onCreate。
setContentView(R.layout.main)表示的是通過加載main.xml來加載系統(tǒng)的resource.
更多關(guān)于Android Activity相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android編程之a(chǎn)ctivity操作技巧總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android listview ExpandableListView實(shí)現(xiàn)多選,單選,全選,edittext實(shí)現(xiàn)批量輸入
這篇文章主要介紹了Android listview ExpandableListView實(shí)現(xiàn)多選,單選,全選,edittext實(shí)現(xiàn)批量輸入的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01基于RxJava框架實(shí)現(xiàn)獲取驗(yàn)證碼的輔助類
這篇文章主要為大家詳細(xì)介紹了基于RxJava框架實(shí)現(xiàn)獲取驗(yàn)證碼的輔助類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Flutter 快速實(shí)現(xiàn)聊天會(huì)話列表效果示例詳解
這篇文章主要為大家介紹了Flutter 快速實(shí)現(xiàn)聊天會(huì)話列表效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Android中絕對(duì)音量和相對(duì)音量設(shè)置
大家好,本篇文章主要講的是Android中絕對(duì)音量和相對(duì)音量設(shè)置,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01Android自定義相機(jī)界面的實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Android自定義相機(jī)界面的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android編程開發(fā)之多點(diǎn)觸摸(Multitouch)實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程開發(fā)之多點(diǎn)觸摸(Multitouch)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Android多點(diǎn)觸摸的相關(guān)實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下2016-08-08