Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期
前情提要(Previously)
本系列將使用 Android Studio 將《第一行代碼》(書中講解案例使用Eclipse)刷一遍,旨在為想入坑 Android 開發,并選擇 Android Studio 作為開發 IDE 的同學開路。
PS:其實我就是現學現賣,希望我能堅持刷完。
在前面剛學習了Fragment,這次來了解一下她的生命周期。
系列目錄在此:
- Android Studio 單刷《第一行代碼》系列目錄
Fragment 的生命周期
先來看一下 Fragment 的生命周期圖解吧。
與 Activity 的 關系
Fragment 必須是依存于 Activity 而存在的,因此 Activity 的生命周期會直接影響到 Fragment 的生命周期。Android 官網這張圖很好的說明了兩者生命周期的關系,如下
跟 Activity 比較,多了下面幾個回調函數:
體驗 Fragment 的生命周期
打開上一篇?Android Studio 單刷《第一行代碼》系列 05 —— Fragment 基礎?中的 FragmentTest 項目,修改 RightFragment 中的代碼,重寫每一個回調方法在里面加上輸出日志,代碼如下:
public class RightFragment extends Fragment {
public static final String TAG = "RightFragment";@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);Log.d(TAG, "onAttach");}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.d(TAG, "onCreate");}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {Log.d(TAG, "onCreateView");View view = inflater.inflate(R.layout.right_fragment, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Log.d(TAG, "onActivityCreated");}@Overridepublic void onStart() {super.onStart();Log.d(TAG, "onStart");}@Overridepublic void onResume() {super.onResume();Log.d(TAG, "onResume");}@Overridepublic void onPause() {super.onPause();Log.d(TAG, "onPause");}@Overridepublic void onStop() {super.onStop();Log.d(TAG, "onStop");}@Overridepublic void onDestroyView() {super.onDestroyView();Log.d(TAG, "onDestroyView");}@Overridepublic void onDestroy() {super.onDestroy();Log.d(TAG, "onDestroy");}@Overridepublic void onDetach() {super.onDetach();Log.d(TAG, "onDetach");}}
- 運行,RightFragment 第一次加載,查看 Logcat 中的日志,如下圖
- 點擊 LeftFragment 中的 Button,AnotherRightFragment 替換 RightFragment 出現,查看日志,如下圖
- 按 Back 鍵,RightFragment 出現,查看日志,如下圖
- 再按 Back 鍵,程序退出,查看日志,如下圖
OK 了,我們對 Fragment 的生命周期已經了解的差不多,更深刻的理解以后用到的時候再說了。
其它(Miscellaneous)
盡管我試圖在本文中盡量完整的進行描述,但受限于篇幅和我的個人水平,本文難免有所遺漏,歡迎在評論中指出。
如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!
關于作者(About Me)
addict
from:?https://www.cnblogs.com/DebugLife/p/4358843.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio 单刷《第一
- 下一篇: Android Studio 单刷《第一