Fragment的生命周期和Activity類似,但比Activity的生命周期複雜一些,基本的生命周期方法如下圖:
生命周期
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CN4UGMmZGNyMmMyUWM0EGO1QWZ3Y2YmZGO1MGOwkjM58CXzAzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL5M3Lc9CX6MHc0RHaiojIsJye.png)
解釋如下:
onAttach():Fragment和Activity相關聯時調用。可以通過該方法擷取Activity引用,還可以通過getArguments()擷取參數。
onCreate():Fragment被建立時調用。
onCreateView():建立Fragment的布局。
onActivityCreated():當Activity完成onCreate()時調用。
onStart():當Fragment可見時調用。
onResume():當Fragment可見且可互動時調用。
onPause():當Fragment不可互動但可見時調用。
onStop():當Fragment不可見時調用。
onDestroyView():當Fragment的UI從視圖結構中移除時調用。
onDestroy():銷毀Fragment時調用。
onDetach():當Fragment和Activity解除關聯時調用。
上面的方法中,隻有onCreateView()在重寫時不用寫super方法,其他都需要。
因為Fragment是依賴Activity的,是以為了講解Fragment的生命周期,需要和Activity的生命周期方法一起講,即Fragment的各個生命周期方法和Activity的各個生命周期方法的關系和順序,如圖:
LifeCycle
作者:JYGod丶
------------------越是喧嚣的世界,越需要甯靜的思考------------------
合抱之木,生于毫末;九層之台,起于壘土;千裡之行,始于足下。
積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,聖心備焉。故不積跬步,無以至千裡;不積小流,無以成江海。骐骥一躍,不能十步;驽馬十駕,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓無爪牙之利,筋骨之強,上食埃土,下飲黃泉,用心一也。蟹六跪而二螯,非蛇鳝之穴無可寄托者,用心躁也。