天天看點

淺析Fragment的生命周期

什麼是Fragment

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

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

它的生命周期也就随之結束。

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

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

Fragment的生命周期

上圖:

淺析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的生命周期對比

淺析Fragment的生命周期