1. 程式人生 > >淺析Fragment的生命週期

淺析Fragment的生命週期

什麼是Fragment

Fragment是在Android3.0中引入,目的使用來解決不同螢幕解析度上的UI顯示與互動問題。

Fragment有自己的佈局,生命週期和響應事件,但它必須依附Activity存在,當它依附的Activity生命週期結束,

它的生命週期也就隨之結束。

Fragment的使用可以大大減少Activity的使用,給程式瘦身,使程式更加的易於維護,而且Fragment還可以

動態替換,在UI的變化上擁有巨大的優勢。

Fragment的生命週期

上圖:


每個方法的呼叫時間和場景

onAttach()
      Fragment和Activity建立關聯的時候呼叫(獲得activity的傳遞的值)
onCreateView()
      為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的生命週期對比