【正文】
),結(jié)束于 onDestroy() ? 使用者 通常 在 onCreate()中初始化 Activity所能使用的全局資源和狀態(tài),并在 onDestroy()中釋放這些資源 ? 在一些極端的情況下, Android系統(tǒng)會不調(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活 動 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? 可視生命周期 ? 可視生命周期是 Activity在界面上從可見到不可見的過程,開始于 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活 動 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? 可視生命周期 ? onStart()一般用來初始化或啟動與更新界面相關(guān)的資源 ? onStop()一般用來暫?;蛲V挂磺信c更新用戶界面相關(guān)的線程、計時器和服務(wù) ? onRestart()函數(shù)在 onSart()前被調(diào)用,用來在 Activity從不可見變?yōu)榭梢姷倪^程中,進(jìn)行一些特定的處理過程 ? onStart()和 onStop()會被多次調(diào)用 ? onStart()和 onStop()也經(jīng)常被用來注冊和注銷BroadcastReceiver Activity生命周期 ? 活動生命周期 ? 活動生命周期是 Activity在屏幕的最上層,并能夠與用戶交互的階段,開始于 onResume(),結(jié)束于 onPause() ? 在 Activity的狀態(tài)變換過程中 onResume()和 onPause()經(jīng)常被調(diào)用,因此這兩個函數(shù)中應(yīng)使用更為簡單、高效的代碼 Activity生命周期 ? 活動生命周期 ? onPause()是第一個被標(biāo)識為“可終止”的函數(shù) ? 在 onPause()返回后, onStop()和 onDestroy()隨時能被Android系統(tǒng)終止 ? onPause()常用來保存持久數(shù)據(jù),如界面上的用戶的輸入信息等 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活 動 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? onPause()和 onSaveInstanceState()的區(qū)別 這 兩個函數(shù)都可以用來保存界面的用戶輸入數(shù)據(jù) ,他們的區(qū)別在于 ? onPause()一般用于保存持久性數(shù)據(jù),并將數(shù)據(jù)保存在存儲設(shè)備上的文件系統(tǒng)或數(shù)據(jù)庫系統(tǒng)中的 ? onSaveInstanceState()主要用來保存動態(tài)的狀態(tài)信息,信息一般保存在 Bundle中 ? Bundle是能夠保存多種格式數(shù)據(jù)的對象 ? 在 onSaveInstanceState()保存在 Bundle中的數(shù)據(jù),系統(tǒng)在調(diào)用 onRestoreInstanceState()和 onCreate()時,會同樣利用 Bundle將數(shù)據(jù)傳遞給函數(shù) Activity生命周期 ? 舉例:建立一個新的 Android工程 ? 工程名稱: ActivityLifeCycle ? 包名稱: ? Activity名稱: ActivityLifeCycle Activity生命周期 ? 1. package 。 onStop() 是 當(dāng) Activity進(jìn)入停止?fàn)顟B(tài)時 , 該函數(shù)被調(diào)用 。 onResume() 否 當(dāng) Activity能夠與用戶交互 , 接受用戶輸入時 , 該函數(shù)被調(diào)用 。 8. protected void onDestroy()。 4. protected void onRestart()。 3. protected void onStart()。 7. protected void onStop()。 onRestart() 否 當(dāng) Activity從停止?fàn)顟B(tài)進(jìn)入活動狀態(tài)前 , 調(diào)用該函數(shù) 。 一般用來保存持久的數(shù)據(jù)或釋放占用的資源 。 onRestoreInstanceState() 否 恢復(fù) onSaveInstanceState() 保存的 Activity 狀 態(tài) 信 息 , 在onStart()和 onResume ()之間被調(diào)用 。 5. import 。 13. (TAG, (1) onCreate())。 25. (TAG, (3) onRestoreInstanceState())。 37. (TAG, (5) onSaveInstanceState())。 49. (TAG, “(7) onPause()”)。 61. (TAG, (9) onDestroy())。 4. import 。 12. setContentView()。 16. (TAG,Info)。 Debug App 可 以有 效的 防止Android程序長時間停留在斷點而產(chǎn)生異常 。 Show screen updates 選中該選項時 , 界面上任何被重繪的矩形區(qū)域會閃現(xiàn)粉紅色 , 有利于發(fā)現(xiàn)界面中不必要的重繪區(qū)域 。Show background 應(yīng)用程序沒有 Activity顯示時 , 直接顯示背景面板 ,一般這種情況僅在調(diào)試時出