Fragment 的生命周期

本文介绍 Fragment 的生命周期,可分为四个状态:活动状态,暂停状态,停止状态,销毁状态。介绍 Fragment 的回调方法。

一、Fragment 的生命周期


Fragment 的生命周期如下图所示:

Fragment 的生命周期

  • 活动状态:当前 Fragment 位于前台,用户可见,可以获得焦点。

  • 暂停状态:其他 Activity 位于前台,Fragment 依然可见,只是不能获得焦点。

  • 停止状态:Fragment 不可见,失去焦点。

  • 销毁状态:Fragment 被完全删除,或者该 Fragment 所在的 Activity 被结束。

二、Fragment 的回调方法


Fragment 的回调方法如下图所示:

Fragment 的回调方法

  • onAttach():当 Fragment 被添加到 Activity 时被回调,该方法只会被调用一次。

  • onCreate():系统创建 Fragment 对象后回调该方法,实现代码中只初始化需要在 Fragment 中保持的必要组件,当 Fragment 被暂停或者停止后可以恢复。该方法只会被调用一次。

  • onCreateView():当 Fragment 绘制界面组件时会回调该方法,该方法返回一个 View,这个 View 就是 Fragment 所显示的 View。

  • onActivityCreated():当 Fragment 所在的 Activity 启动完成后回调该方法。

  • onResume():恢复 Fragment 时被回调,onStart() 调用之后一定会调用 onResume() 方法。

  • onPause():当用户离开该 Fragment 时会回调该方法。

  • onDestory():销毁 Fragment 时被回调,该方法只会被调用一次。

  • onDetach():将该 Fragment 从 Activity 中删除,被替换完成时会回调该方法,onDestory()方法调用后一定会回调onDetach()方法,该方法只会被调用一次。

(完)