乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android應(yīng)用程序----Activity生命周期(2)

       松林園 2021-04-25

      Android應(yīng)用程序----Activity生命周期(1)

      Activity事件回調(diào)函數(shù)的調(diào)用順序 


      Activity生命周期分類

      Activity的生命周期可分為全生命周期、可視生命周期和活動(dòng)生命周期

      每種生命周期中包含不同的事件回調(diào)函數(shù)


      全生命周期 

      全生命周期是從Activity建立到銷毀的全部過程,始于onCreate(),結(jié)束于onDestroy() 

      使用者通常onCreate()中初始化Activity所能使用的全局資源和狀態(tài),并在onDestroy()中釋放這些資源 

      在一些極端的情況下,Android系統(tǒng)會(huì)不調(diào)用onDestroy()函數(shù),而直接終止進(jìn)程



      可視生命周期 

      可視生命周期是Activity在界面上從可見到不可見的過程,開始于onStart(),結(jié)束于onStop()



      可視生命周期 

      onStart()一般用來初始化或啟動(dòng)與更新界面相關(guān)的資源 

      onStop()一般用來暫?;蛲V挂磺信c更新用戶界面相關(guān)的線程、計(jì)時(shí)器和服務(wù) 

      onRestart()函數(shù)在onSart()前被調(diào)用,用來在Activity從不可見變?yōu)榭梢姷倪^程中,進(jìn)行一些特定的處理過程 

      onStart()onStop()會(huì)被多次調(diào)用 

      onStart()onStop()也經(jīng)常被用來注冊(cè)和注銷BroadcastReceiver



      活動(dòng)生命周期 

      活動(dòng)生命周期是Activity在屏幕的最上層,并能夠與用戶交互的階段,開始于onResume(),結(jié)束于onPause() 

      Activity的狀態(tài)變換過程中onResume()onPause()經(jīng)常被調(diào)用,因此這兩個(gè)函數(shù)中應(yīng)使用更為簡單、高效的代碼


      活動(dòng)生命周期 

      onPause()是第一個(gè)被標(biāo)識(shí)為“可終止”的函數(shù) 

      onPause()返回后,onStop()onDestroy()隨時(shí)能被Android系統(tǒng)終止 

      onPause()常用來保存持久數(shù)據(jù),如界面上的用戶的輸入信息等




      onPause()onSaveInstanceState()的區(qū)別

          這兩個(gè)函數(shù)都可以用來保存界面的用戶輸入數(shù)據(jù),他們的區(qū)別在于


      onPause()一般用于保存持久性數(shù)據(jù),并將數(shù)據(jù)保存在存儲(chǔ)設(shè)備上的文件系統(tǒng)或數(shù)據(jù)庫系統(tǒng)中的 

      onSaveInstanceState()主要用來保存動(dòng)態(tài)的狀態(tài)信息,信息一般保存在Bundle 

      Bundle是能夠保存多種格式數(shù)據(jù)的對(duì)象 

      onSaveInstanceState()保存在Bundle中的數(shù)據(jù),系統(tǒng)在調(diào)用onRestoreInstanceState()onCreate()時(shí),會(huì)同樣利用Bundle將數(shù)據(jù)傳遞給函數(shù)


      舉例:建立一個(gè)新的Android工程 

      工程名稱:ActivityLifeCycle 

      包名稱:edu.hrbeu.ActivityLifeCycle 

      Activity名稱:ActivityLifeCycle


      ActivityLifeCycle.java文件的代碼


      上面的程序主要通過在生命周期函數(shù)中添加“日志點(diǎn)”的方法進(jìn)行調(diào)試,程序的運(yùn)行結(jié)果將會(huì)顯示在LogCat 

      為了顯示結(jié)果易于觀察和分析,在LogCat設(shè)置過濾器LifeCycleFilter,過濾方法選擇by Log Tag,過濾關(guān)鍵字為LIFTCYCLE


      全生命周期 

      啟動(dòng)和關(guān)閉ActivityLifeCycle LogCat輸出 

      啟動(dòng)ActivityLifeCycle 

      按下模擬器的“返回鍵” 

      關(guān)閉ActivityLifeCycle 

      LogCat輸出結(jié)果

      函數(shù)的調(diào)用順序:onCreate() onStart() onResume() onPause() onStop() onDestroy()

      調(diào)用onCreate()函數(shù)分配資源

      調(diào)用onStart()Activity顯示在屏幕上 

      調(diào)用onResume()獲取屏幕焦點(diǎn) 

      調(diào)用onPause()、onStop()onDestroy(),釋放資源并銷毀進(jìn)程


      可視生命周期

      狀態(tài)轉(zhuǎn)換 

      啟動(dòng)ActivityLifeCycle 

      “呼出/接聽鍵”啟動(dòng)內(nèi)置的撥號(hào)程序 

      再通過“返回鍵”退出撥號(hào)程序 

      ActivityLifeCycle重新顯示在屏幕中 

      可視生命周期的LogCat輸出結(jié)果


      可視生命周期 

      函數(shù)的調(diào)用順序: onSaveInstanceState () onPause() onStop() onRestart() onStart() onResume() 

      調(diào)用onSaveInstanceState()函數(shù)保存Activity狀態(tài) 

      調(diào)用onPause()onStop(),停止對(duì)不可見Activity的更新

      調(diào)用onRestart()恢復(fù)需要界面上需要更新的信息 

      調(diào)用onStart()onResume()重新顯示Activity,并接受用戶交互

      開啟IDA的可視生命周期Dev Tools Development Settings Immediately destroy activities (IDA)下開啟IDA



      活動(dòng)生命周期 

      活動(dòng)生命周期的LogCat輸出 

      啟動(dòng)ActivityLifeCycle 

      通過“掛斷鍵”使模擬器進(jìn)入休眠狀態(tài) 

      再通過“掛斷鍵”喚醒模擬器 

      LogCat的輸出結(jié)果


      函數(shù)調(diào)用順序如下:onSaveInstanceState() onPause() onResume() 

      調(diào)用onSaveInstanceState ()保存Activity的狀態(tài) 

      調(diào)用onPause()停止與用戶交互 

      調(diào)用onResume()恢復(fù)與用戶的交互



        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多