【正文】
?;?動(dòng) 狀 態(tài)暫 停 狀 態(tài)或停 止 狀 態(tài)出 棧A c t i v i t y非 活 動(dòng) 狀 態(tài)A c t i v i t y釋 放 資 源終 止非 活 動(dòng) 狀 態(tài)A c t i v i t y 棧 Activity生命周期 ? 事件的回調(diào)函數(shù) 1. public class MyActivity extends Activity { 2. protected void onCreate(Bundle savedInstanceState)。 3. protected void onStart()。 4. protected void onRestart()。 5. protected void onResume()。 6. protected void onPause()。 7. protected void onStop()。 8. protected void onDestroy()。 9. } Activity生命周期 ? Activity生命周期的事件回調(diào)函數(shù) 函數(shù) 是否 可終止 說(shuō)明 onCreate() 否 Activity啟動(dòng)后第一個(gè)被調(diào)用的函數(shù) , 常用來(lái)進(jìn)行 Activity的初始化 , 例如創(chuàng)建 View、 綁定數(shù)據(jù)或恢復(fù)信息等 。 onStart() 否 當(dāng) Activity顯示在屏幕上時(shí) , 該函數(shù)被調(diào)用 。 onRestart() 否 當(dāng) Activity從停止?fàn)顟B(tài)進(jìn)入活動(dòng)狀態(tài)前 , 調(diào)用該函數(shù) 。 onResume() 否 當(dāng) Activity能夠與用戶(hù)交互 , 接受用戶(hù)輸入時(shí) , 該函數(shù)被調(diào)用 。此時(shí)的 Activity位于 Activity棧的棧頂 。 onPause() 是 當(dāng) Activity進(jìn)入暫停狀態(tài)時(shí) , 該函數(shù)被調(diào)用 。 一般用來(lái)保存持久的數(shù)據(jù)或釋放占用的資源 。 onStop() 是 當(dāng) Activity進(jìn)入停止?fàn)顟B(tài)時(shí) , 該函數(shù)被調(diào)用 。 onDestroy() 是 在 Activity被終止前 , 即進(jìn)入非活動(dòng)狀態(tài)前 , 該函數(shù)被調(diào)用 。 Activity生命周期 ? Activity狀態(tài)保存 /恢復(fù)的事件回調(diào)函數(shù) 函數(shù) 是否 可終止 說(shuō)明 onSaveInstanceState() 否 Android系統(tǒng)因資源不足終止 Activity前調(diào)用該函數(shù) , 用以保存Activity的狀態(tài)信息 , 供 onRestoreInstanceState()或 onCreate()恢復(fù)之用 。 onRestoreInstanceState() 否 恢復(fù) onSaveInstanceState() 保存的 Activity 狀 態(tài) 信 息 , 在onStart()和 onResume ()之間被調(diào)用 。 Activity生命周期 ? Activity事件回調(diào)函數(shù)的調(diào)用順序 ? Activity生命周期分類(lèi) ? Activity的生命周期可分為全生命周期、可視生命周期和活動(dòng)生命周期 ? 每種生命周期中包含不同的事件回調(diào)函數(shù) o n C r e a t e o n D e s t r o yo n S t a r t o n S t o po n R e s u m e o n P a u s eo n R e s t o r eI n s t a n c e S t a t eo n S a v eI n s t a n c e S t a t eo n R e s t a r t活 動(dòng) 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? 全生命周期 ? 全生命周期是從 Activity建立到銷(xiāo)毀的全部過(guò)程,始于onCreate(),結(jié)束于 onDestroy() ? 使用者 通常 在 onCreate()中初始化 Activity所能使用的全局資源和狀態(tài),并在 onDestroy()中釋放這些資源 ? 在一些極端的情況下, Android系統(tǒng)會(huì)不調(diào)用 onDestroy()函數(shù),而直接終止進(jìn)程 o n C r e a t e o n D e s t r o yo n S t a r t o n S t o po n R e s u m e o n P a u s eo n R e s t o r eI n s t a n c e S t a t eo n S a v eI n s t a n c e S t a t eo n R e s t a r t活 動(dòng) 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? 可視生命周期 ? 可視生命周期是 Activity在界面上從可見(jiàn)到不可見(jiàn)的過(guò)程,開(kāi)始于 onStart(),結(jié)束于 onStop() o n C r e a t e o n D e s t r o yo n S t a r t o n S t o po n R e s u m e o n P a u s eo n R e s t o r eI n s t a n c e S t a t eo n S a v eI n s t a n c e S t a t eo n R e s t a r t活 動(dòng) 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? 可視生命周期 ? onStart()一般用來(lái)初始化或啟動(dòng)與更新界面相關(guān)的資源 ? onStop()一般用來(lái)暫?;蛲V挂磺信c更新用戶(hù)界面相關(guān)的線程、計(jì)時(shí)器和服務(wù) ? onRestart()函數(shù)在 onSart()前被調(diào)用,用來(lái)在 Activity從不可見(jiàn)變?yōu)榭梢?jiàn)的過(guò)程中,進(jìn)行一些特定的處理過(guò)程 ? onStart()和 onStop()會(huì)被多次調(diào)用 ? onStart()和 onStop()也經(jīng)常被用來(lái)注冊(cè)和注銷(xiāo)BroadcastReceiver Activity生命周期 ? 活動(dòng)生命周期 ? 活動(dòng)生命周期是 Activity在屏幕的最上層,并能夠與用戶(hù)交互的階段,開(kāi)始于 onResume(),結(jié)束于 onPause() ? 在 Activity的狀態(tài)變換過(guò)程中 onResume()和 onPause()經(jīng)常被調(diào)用,因此這兩個(gè)函數(shù)中應(yīng)使用更為簡(jiǎn)單、高效的代碼 Activity生命周期 ? 活動(dòng)生命周期 ? onPause()是第一個(gè)