基礎(chǔ)結(jié)篇之一activity生命周期_第1頁
基礎(chǔ)結(jié)篇之一activity生命周期_第2頁
基礎(chǔ)結(jié)篇之一activity生命周期_第3頁
基礎(chǔ)結(jié)篇之一activity生命周期_第4頁
基礎(chǔ)結(jié)篇之一activity生命周期_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Activityservlet有些相似之處,Androidservlet容器,ActivityservletActivity處在這個(gè)容器中,一切創(chuàng)建實(shí)例、初始化、銷毀實(shí)例等過程都是容器來調(diào)用的,這也就是所謂的“Don'tcallme,I'llcallyou.”機(jī)制。onResume,Activity進(jìn)入運(yùn)行狀onResume,Activity進(jìn)入運(yùn)行狀用onPause方法,然后調(diào)用onStop方法,進(jìn)入停滯狀態(tài)。調(diào)用onResume方法,再次進(jìn)入運(yùn)行狀態(tài)。Activity處于被覆蓋狀態(tài)或者后臺(tái)不可見狀態(tài),即第24步,系統(tǒng)內(nèi)存不法、onResume方法,進(jìn)入運(yùn)行狀態(tài)。packageimportimportimportimport11.publicclassLifeCycleActivityextendsActivityprivatestaticfinalStringTAG=privateintparam= privateContextcontext=8.import6.import4.import[java]viewpublicvoidonCreate(BundlesavedInstanceState)Log.i(TAG,"onCreateButtonbtn=(Button)Intentintent=new}}protectedvoidonStart()Log.i(TAG,"onStart}protectedvoidonResume()Log.i(TAG,"onResumepublicvoidonCreate(BundlesavedInstanceState)Log.i(TAG,"onCreateButtonbtn=(Button)Intentintent=new}}protectedvoidonStart()Log.i(TAG,"onStart}protectedvoidonResume()Log.i(TAG,"onResume Log.i(TAG,"onWindowFocusChanged publicvoidonWindowFocusChanged(booleanhasFocus) //Activity窗口獲得或失去焦點(diǎn)時(shí)被調(diào)用,在onResume之后或onPause Log.i(TAG,"onRestart protectedvoidonRestart() publicvoidonClick(Viewv) btn.setOnClickListener(newView.OnClickListener() protectedvoidonPause()Log.i(TAG,"onPause}//退出當(dāng)前Activity或者跳轉(zhuǎn)到新ActivityprotectedvoidonStop()Log.i(TAG,"onStop}*例如:屏幕方向改變時(shí),Activity被銷毀再重建;當(dāng)前Activity處于后臺(tái),張將其殺死*在onPause之前被調(diào)用protectedvoidonPause()Log.i(TAG,"onPause}//退出當(dāng)前Activity或者跳轉(zhuǎn)到新ActivityprotectedvoidonStop()Log.i(TAG,"onStop}*例如:屏幕方向改變時(shí),Activity被銷毀再重建;當(dāng)前Activity處于后臺(tái),張將其殺死*在onPause之前被調(diào)用outState.putInt("param",*Activity被系統(tǒng)殺死后再重建時(shí)被調(diào)用*這兩種情況下onRestoreInstanceState都會(huì)被調(diào)用,在onStart之后 *例如:屏幕方向改變時(shí),Activity被銷毀再重建;當(dāng)前Activity處于后臺(tái),系統(tǒng)資源 Log.i(TAG,"onSaveInstanceStatecalled.putparam:"+ protectedvoidonSaveInstanceState(BundleoutState) *另外,當(dāng)跳轉(zhuǎn)到其他ActivityHome鍵回到主屏?xí)r該方法也會(huì)被調(diào)用,系統(tǒng)是為了保存當(dāng)前View組件的狀態(tài). *Activity被系統(tǒng)殺死時(shí)被調(diào)用 Log.i(TAG,"onDestory protectedvoidonDestroy() //退出當(dāng)前Activity時(shí)被調(diào)用,調(diào)用之后Activity //onPause或onStop后,系統(tǒng)資源緊張將Activity殺死,所以有必 param=}onSaveInstanceState、onRestoreInstanceState方法:param=}onSaveInstanceState、onRestoreInstanceState方法:1.onWindowFocusChangedActivity窗口獲得或失去焦點(diǎn)時(shí)被調(diào)用,例如創(chuàng)建時(shí)ActivityActivityActivityActivity或按Home鍵回到主屏,自身退居后臺(tái);用戶退出當(dāng)前Activity。以上幾種情況都會(huì)調(diào)用onWindowFocusChanged,并且當(dāng)Activity被創(chuàng)建時(shí)是在onResume之后被調(diào)用,當(dāng)onCreateWindow對(duì)象還沒創(chuàng)建完成,這個(gè)時(shí)候我們就需要在onWindowFocusChanged里獲??;如果大家已經(jīng)看過我寫的Android動(dòng)畫之就是因?yàn)榇翱赪indow對(duì)象沒有初始化完成,所以最后我將加載動(dòng)畫的代碼放到了onWindowFocusChanged中,問題迎刃而解。不過大家也許會(huì)有疑惑,為什么我在代碼2.onSaveInstanceState:(1)Activity被覆蓋或退居后臺(tái)之后,系統(tǒng)資源不足將其殺死,此方法會(huì)被調(diào)用;(2)在用戶改變屏幕方向時(shí),此方法會(huì)被調(diào)用;(3)Activity跳轉(zhuǎn)到ActivityHome鍵回到主屏,自身退居后臺(tái)時(shí),此方法會(huì)被調(diào)用。第一種情況數(shù)據(jù);第三種情況系統(tǒng)調(diào)用此方法是為了保存當(dāng)前窗口各個(gè)View組件的狀態(tài)。onSaveInstanceState的調(diào)用順序是在onPause之前。3.onRestoreInstanceState:(1)在Activity死,然后用戶又回到了 Activity,此方法會(huì)被調(diào)用;(2)在用戶改變屏幕方向時(shí),重建 Log.i(TAG,"onRestoreInstanceStatecalled.getparam:"+ protectedvoidonRestoreInstanceState(BundlesavedInstanceState) 臺(tái)時(shí),onPause后onStop相繼被調(diào)用。4.TargetActivityAndroidManifest.xml中的配置,將android:theme屬性設(shè)置為了TargetActivity覆蓋到LifeCycleActivity之上了,此時(shí)調(diào)用的方法為:我們注意到,此時(shí)LifeCycleActivityOnPause方法被調(diào)用,并沒有調(diào)用onStop方法,因在onPause之前被調(diào)用。怪,因?yàn)橹拔覀兙驼f過,onRestoreInstanceState只有在殺死不在前臺(tái)的Activity之后setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//1.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//橫屏1.package [java]view[java]view[java]view3.import5.importprivateintparam="onCreateprotectedonStart()"onStartprotectedonRestart()"onRestartprotectedonResume()"onResumeprotectedonPause()"onPauseprotectedonStop()3.import5.importprivateintparam="onCreateprotectedonStart()"onStartprotectedonRestart()"onRestartprotectedonResume()"onResumeprotectedonPause()"onPauseprotectedonStop() protectedvoidonCreate(BundlesavedInstanceState) privatestaticfinalStringTAG=8.publicclassOrientationActivityextendsActivity6.import4.importLog.i(TAG,"onStopprotectedvoidonDestroy()Log.i(TAG,"onDestoryprotectedvoidonSaveInstanceState(BundleoutState)Log.i(TAG,"onSaveInstanceStatecalled.put"}param=switch(newConfig.orientation)caseLog.i(TAG,"onStopprotectedvoidonDestroy()Log.i(TAG,"onDestoryprotectedvoidonSaveInstanceState(BundleoutState)Log.i(TAG,"onSaveInstanceStatecalled.put"}param=switch(newConfig.orientation)case}將當(dāng)前Activity銷毀,然后重建一個(gè)新的:84. case Log.i(TAG,"onConfigurationChanged publicvoidonConfigurationChanged(ConfigurationnewConfig) onConfigurationChanged被調(diào)用 Log.i(TAG,"onRestoreInstanceStatecalled.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論