安卓Activity的生命周期函数详解
首先上個官圖:
http://developer.android.com/reference/android/app/Activity.html
記住核心方法:onStart()、onStop()
onCreate?(創(chuàng)建:做一些初始化的工作)
Activity初次創(chuàng)建時(shí)被調(diào)用
一般在這里創(chuàng)建view,初始化布局信息,將數(shù)據(jù)邦定到list以及設(shè)置監(jiān)聽器等等。如果Activity首次創(chuàng)建,本方法將會調(diào)用onStart();如果Activity是停止后重新顯示,則將調(diào)用 onRestart()
?
onStart(開始:可見)
當(dāng)Activity對用戶即將可見的時(shí)候被調(diào)用,其后調(diào)用onResume
?
onResume(恢復(fù):可操作界面)
當(dāng)用戶能在界面中進(jìn)行操作的時(shí)候(獲得焦點(diǎn)等)被調(diào)用
?
onPause(中斷:該Acitvity中斷前的一些操作,即:當(dāng)前Activity不再是棧頂?shù)臓顟B(tài)時(shí)候,把相關(guān)的事情處理好改activity才能中斷)
當(dāng)系統(tǒng)要啟動一個其他的Activity時(shí)調(diào)用(其他的activity顯示之前),這個方法被用來停止動畫和其他占用CPU資源的事情。所以在這里應(yīng)該提交保存那些持久數(shù)據(jù),這些數(shù)據(jù)可以在onResume方法中讀出
?
onStop(停止:不可見,也不可操作界面)
當(dāng)另外一個Activity恢復(fù)并遮蓋住當(dāng)前Activity,導(dǎo)致用戶不再可見時(shí)調(diào)用。一個新Activity啟動、其他Activity被切換至前景、當(dāng)前Activity被銷毀時(shí)都回調(diào)用此函數(shù)。如果當(dāng)Activity重新回到前景與用戶交互時(shí)會調(diào)用onRestart(),如果Activity將退出則調(diào)用onDestroy
onDestroy(毀滅:徹底殺掉這個activity)
當(dāng)前Activity被直接關(guān)閉或者系統(tǒng)資源不足時(shí)被調(diào)用
在當(dāng)前的Activity被銷毀前所調(diào)用的最后一個方法,當(dāng)進(jìn)程終止時(shí)調(diào)用
onRestart
當(dāng)Activity停止后(即調(diào)用onStop)重新顯示的時(shí)候,會被調(diào)用,然后調(diào)用onStart
?
自己可以創(chuàng)建兩個Activity去測試:
?
測試流程如下:
一、啟動一個新的Activity,就會啟動三個函數(shù)
? * onCreate
??* onStart
??* onResume
?當(dāng)這個Activity長時(shí)間處在棧頂,而手機(jī)設(shè)備一直沒操作而導(dǎo)致鎖屏,這時(shí)會調(diào)用以下函數(shù)
? * onPause
??* onStop
當(dāng)屏幕解鎖后,這個Activity會顯示出來,會調(diào)用一下函數(shù)
?onRestart()
?onStart()
?onResume()
?
?當(dāng)按下返回鍵,這個新的Activity就會啟動三個函數(shù)
??* onPause
??* onStop
??* onDestroy
?
二、啟動另外一個Activity時(shí),原本的Activity會啟用onpause函數(shù)
另外一個Activity啟動以下函數(shù):
? * onCreate
??* onStart
??* onResume
?啟動成功后,原本的Activity啟動onstop函數(shù)
三、在另外的那個Activity中,按返回鍵:
? ? ?首先,另外的Activity會啟動onPause(),
? ? ?然后,原來的Activity?,啟動onRestart()、onStart()、onResume()
? ? ?最后,另外的Activity會啟動onStop()、onDestroy()?
總結(jié)
以上是生活随笔為你收集整理的安卓Activity的生命周期函数详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 正则 零宽断言,正则表达式之零宽
- 下一篇: Control Groups (Cgro