[Android] Fragment LifeCycle (生命週期

每次都背不起來,直接筆記在這裡方便查詢:


執行流程

1. 切換到該Fragment,分別執行onAttach()、onCreate()、onCreateView()、onActivityCreated()、onStart()、onResume()方法。

2. 鎖屏,分別執行onPause()、onStop()方法。

3. 亮屏,分別執行onStart()、onResume()方法。

4. 覆蓋 / 切換到其他Fragment,分別執行onPause()、onStop()、onDestroyView()方法。

5. 從其他Fragment回到之前Fragment,分別執行onCreateView()、onActivityCreated()、onStart()、onResume()方法。

階段說明

產生階段(未出現在畫面上)

1. onAttach(): 加到某個Activity畫面中時,會自動呼叫此方法。

2. onCreate(): 被建立時會自動呼叫,可加入初始化元件或資料的程式碼。

3. onCreateView(): 在畫面中第一次顯示Fragment時會自動呼叫此方法,必須回傳Fragment畫面的View元件。設計時,請使用方法中的LayoutInflater物件,在此方法中產生畫面元件並回傳。

4. onActivityCreated(): 當加入本Fragment的Activity被建立時,該Activity的onCreate方法執行完成後,會自動執行此方法。執行完此方法後,Fragment才出現在畫面上。

準備階段(前景)

5. onStart(): 當Fragment出現在畫面時先執行此方法。

6. onResume(): 執行完onStart方法後自動執行本方法。完成後即在畫面中與使用者互動。

暫停階段(背景。例如按Home or Recent Apps)

7. onPause(): 進入暫停前第一個執行的方法。

8. onStop(): 執行完onPause方法後,自動執行本方法。

停止階段 (程式將Fragment自某個Activity中移除)

9. onDestroyView(): 此時Fragment已不在畫面中,呼叫此方法。

10. onDestroy(): 當Fragment要被清除之前,會執行此方法。

11. onDetach(): 與當初被加入的Activity卸載時,會自動執行此方法。

留言