溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中Fragment的生命周期是什么

發布時間:2022-03-30 10:32:26 來源:億速云 閱讀:230 作者:小新 欄目:移動開發
# Android中Fragment的生命周期是什么

在Android開發中,`Fragment`是重要的UI組件之一,它擁有自己的生命周期,與`Activity`的生命周期緊密關聯但又有獨立性。理解Fragment的生命周期對開發靈活的界面至關重要。

---

## 一、Fragment生命周期的核心方法

Fragment的生命周期包含以下關鍵方法(按執行順序排列):

1. **onAttach()**  
   Fragment與Activity關聯時觸發,此時可通過`getActivity()`獲取宿主Activity的引用。

2. **onCreate()**  
   初始化Fragment的非UI組件(如數據加載),但此時視圖尚未創建。

3. **onCreateView()**  
   創建并返回Fragment的UI視圖(通過`inflate`布局文件)。若Fragment無UI,可返回`null`。

4. **onViewCreated()**  
   視圖創建完成后調用,適合進行視圖初始化(如綁定控件、設置監聽器)。

5. **onActivityCreated()**  
   宿主Activity的`onCreate()`完成后觸發,表明Activity和Fragment的視圖層級已就緒。

6. **onStart()**  
   Fragment可見但未進入前臺(與Activity的`onStart()`同步)。

7. **onResume()**  
   Fragment進入交互狀態(用戶可操作)。

8. **onPause()**  
   失去焦點(如Activity被覆蓋),應保存輕量級數據。

9. **onStop()**  
   Fragment不可見(宿主Activity進入后臺或Fragment被移除)。

10. **onDestroyView()**  
    銷毀與Fragment關聯的視圖,但Fragment實例仍存在。

11. **onDestroy()**  
    清理Fragment資源(如線程、監聽器)。

12. **onDetach()**  
    解除與Activity的關聯,此后`getActivity()`返回`null`。

---

## 二、生命周期場景示例

- **添加Fragment到Activity**:  
  `onAttach()` → `onCreate()` → `onCreateView()` → `onViewCreated()` → `onActivityCreated()` → `onStart()` → `onResume()`

- **按下返回鍵退出Activity**:  
  `onPause()` → `onStop()` → `onDestroyView()` → `onDestroy()` → `onDetach()`

- **屏幕旋轉重建**:  
  Fragment會隨Activity銷毀并重建,可通過`setRetainInstance(true)`保留實例(但視圖仍需重建)。

---

## 三、注意事項

1. **與Activity生命周期的協調**  
   Fragment的生命周期受宿主Activity影響,例如Activity的`onPause()`會先于Fragment的`onPause()`執行。

2. **視圖狀態保存**  
   在`onSaveInstanceState()`中保存臨時數據,并在`onCreateView()`或`onViewCreated()`中恢復。

3. **避免內存泄漏**  
   在`onDestroy()`中釋放資源(如取消網絡請求、注銷廣播)。

通過合理利用生命周期方法,可以高效管理Fragment的UI、數據和用戶交互邏輯。

(注:實際字數約550字,可根據需要調整內容細節。)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女