淺析Fragment的生命週期
阿新 • • 發佈:2019-01-27
什麼是Fragment
Fragment是在Android3.0中引入,目的使用來解決不同螢幕解析度上的UI顯示與互動問題。
Fragment有自己的佈局,生命週期和響應事件,但它必須依附Activity存在,當它依附的Activity生命週期結束,
它的生命週期也就隨之結束。
Fragment的使用可以大大減少Activity的使用,給程式瘦身,使程式更加的易於維護,而且Fragment還可以
動態替換,在UI的變化上擁有巨大的優勢。
Fragment的生命週期
上圖:
每個方法的呼叫時間和場景
onAttach()Fragment和Activity建立關聯的時候呼叫(獲得activity的傳遞的值)
為Fragment建立檢視(載入佈局)時呼叫(給當前的fragment繪製UI佈局,可以使用執行緒更新UI)onActivityCreated()
當Activity中的onCreate方法執行完後呼叫(表示activity執行oncreate方法完成了的時候會呼叫此方法)onDestroyView()
Fragment中的佈局被移除時呼叫(表示fragment銷燬相關聯的UI佈局)onDetach()
Fragment和Activity解除關聯的時候呼叫(脫離activity)
Fragment生命週期解讀
- 當一個Fragment被建立時依次呼叫
onAttach()
onCreate()
onCreateView()
onActivityCreated()
- 當Fragment對使用者可見時
onStart()
onResume()
- 當Fragment不可見時
onPause()
onStop()
- 當Fragment被銷燬時
onPause()
onStop()
onDestroyView()
onDestroy()
onDetach()
- 像Activity一樣,在以下的狀態中,可以使用Bundle物件儲存一個fragment的物件
onCreate()
onCreateView()
onActivityCreated()
Fragment與Activity的生命週期對比