在 Android 中,Fragment 的生命周期与 Activity 类似,但它们是嵌套在 Activity 中的。因此,Fragment 的生命周期方法会在 Activity 的生命周期方法之前或之后被调用。以下是一些关键的 Fragment 生命周期方法:
onCreate()
: 当 Fragment 被创建时调用。在这个方法中,你可以初始化视图、数据等。
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化视图和数据 }
onCreateView()
: 当 Fragment 的视图被创建时调用。在这个方法中,你可以使用 LayoutInflater 将 XML 布局文件转换为 View 对象。
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // 使用 LayoutInflater 将 XML 布局文件转换为 View 对象 return view; }
onActivityCreated()
: 当 Fragment 的 Activity 完成创建时调用。在这个方法中,你可以访问 Activity 的上下文和视图,并执行一些额外的初始化操作。
@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // 访问 Activity 的上下文和视图,执行额外的初始化操作 }
onStart()
: 当 Fragment 变为可见时调用。在这个方法中,你可以执行一些动画或者监听用户交互。
@Override public void onStart() { super.onStart(); // 执行动画或监听用户交互 }
onResume()
: 当 Fragment 变为可交互时调用。在这个方法中,你可以执行一些需要用户交互的操作。
@Override public void onResume() { super.onResume(); // 执行需要用户交互的操作 }
onPause()
: 当 Fragment 变为不可交互时调用。在这个方法中,你可以暂停一些动画或操作。
@Override public void onPause() { super.onPause(); // 暂停动画或操作 }
onStop()
: 当 Fragment 不再可见时调用。在这个方法中,你可以释放一些资源,如关闭数据库连接或停止定时器。
@Override public void onStop() { super.onStop(); // 释放资源 }
onDestroyView()
: 当 Fragment 的视图被销毁时调用。在这个方法中,你可以清理一些视图相关的资源。
@Override public void onDestroyView() { super.onDestroyView(); // 清理视图相关的资源 }
onDestroy()
: 当 Fragment 被销毁时调用。在这个方法中,你可以释放一些全局资源,如取消网络请求或释放大型对象。
@Override public void onDestroy() { super.onDestroy(); // 释放全局资源 }
onDetach()
: 当 Fragment 与 Activity 分离时调用。在这个方法中,你可以清理一些与 Activity 相关的资源。
@Override public void onDetach() { super.onDetach(); // 清理与 Activity 相关的资源 }
要控制 Fragment 的生命周期,你可以在这些方法中添加相应的代码。请注意,这些方法的调用顺序与 Activity 的生命周期方法类似,因此请确保按照正确的顺序执行操作。