注冊成功
X
W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
七個方法
- onCreate 在這里創(chuàng)建界面, 做一些數(shù)據(jù)的初始化工作
- onStart 可見不可交互
- onResume 可見可交互
- onPause 可見但不可交互的, 系統(tǒng)會停止動畫等消耗CPU的任務. 應該在這里保存你的一些數(shù)據(jù),因為這個時候你的程序的優(yōu)先級降低, 有可能被系統(tǒng)收回. 在這里保存的數(shù)據(jù), 應該在 onResume() 里讀出來. 注意: 這個方法里做的事情時間要短, 因為下一個 activity 不會等到這個方法完成才啟動變得不可見.
- onstop 變得不可見,被下一個 activity 覆蓋了
- onRestart 重新可見
- onDestroy 摧毀 activity
生命周期圖

常見應用場景
- 啟動: onCreate()—>onStart()—>onResume(), Activity進入運行狀態(tài).
- 退居后臺: 當前 Activity 轉到新的 Activity 界面或按Home鍵回到主屏: onPause()—>onStop(), 進入停滯狀態(tài).
- 返回前臺: onRestart()—>onStart()—>onResume(), 再次回到運行狀態(tài).
- Activity 退居后臺, 且系統(tǒng)內存不足, 系統(tǒng)會殺死這個后臺狀態(tài)的 Activity (此時這個Activity引用仍然處在任務棧中,只是這個時候引用指向的對象已經為null), 若再次回到這個Activity, 則會走onCreate()–>onStart()—>onResume()(將重新走一次Activity的初始化生命周期)
- 鎖定屏與解鎖屏幕, 只會調用 onPause(), 而不會調用 onStop()方法, 開屏后則調用onResume()
- 當 Activity 被另一個透明或者 Dialog 樣式的 Activity 覆蓋時就會 onPause. 這時它仍然可見. 只是失去焦點, 不可與用戶交互.
可能的問題
- 畫生命周期圖
- onStart() 與 onResume() 有什么區(qū)別?
onStart() 方法在 onCreate() 方法之后被調用或者在 Activity 從 Stop 狀態(tài)轉換為 Active 狀態(tài)時被調用, 一般執(zhí)行了 onStart() 后就執(zhí)行 onResume()
onResume() 在 Activity 從 Pause 狀態(tài)轉換到 Active 狀態(tài)時被調用. 使 Activity 獲得用戶焦點, 可以再與用戶交互.
來源:
以上內容是否對您有幫助:
更多建議: