Android Fragment

Fragment是什么

Fragment 是一种可以嵌入在Activity 当中的UI片段,它能让程序更加合理和充分地利用大屏幕 的空间,因而在平板上应用得非常广泛。

Fragment的状态

得每个Activity 在其生命周期内一共有运行状态、暂停状 态、停止状态和销毁状态这4种。类似地,每个Fragment 在其生命周期内也可能会经历这几种状态,只不过在一些细小的地方会有部分区别。

01 . 运行状态

当一个Fragment 所关联的Activity 正处于运行状态时,该Fragment 也处于运行状态。

02 . 暂停状态

当一个Activity 进入暂停状态时(由于另一个未占满屏幕的Activity 被添加到了栈顶),与 它相关联的Fragment 就会进入暂停状态。

03 . 停止状态

当一个Activity 进入停止状态时,与它相关联的Fragment 就会进入停止状态,或者通过调 用FragmentT ransaction 的remove()、replace()方法将Fragment 从Activity 中移 除,但在事务提交之前调用了addToBackStack()方法,这时的Fragment 也会进入停止 状态。总的来说,进入停止状态的Fragment 对用户来说是完全不可见的,有可能会被系统 回收。

04 . 销毁状态

Fragment 总是依附于Activity 而存在,因此当Activity 被销毁时,与它相关联的 Fragment 就会进入销毁状态。或者通过调用FragmentTransaction 的remove()、 replace()方法将Fragment 从Activity 中移除,但在事务提交之前并没有调用 addToBackStack()方法,这时的Fragment 也会进入销毁状态。

Fragment的回调

同样地,Fragment 类中也提供了 一系列的回调方法,以覆盖它生命周期的每个环节。其中,Activity 中有的回调方法, Fragment 中基本上也有,不过Fragment 还提供了一些附加的回调方法,下面我们就重点看一 下这几个回调。

onAttach():当Fragment 和Activity 建立关联时调用。

onCreateView():为Fragment 创建视图(加载布局)时调用。

onActivityCreated():确保与Fragment 相关联的Activity 已经创建完毕时调用。

onDestroyView():当与Fragment 关联的视图被移除时调用。

onDetach():当Fragment 和Activity 解除关联时调用。

Fragment完整的生命周期参考图

 

posted @ 2023-01-17 10:34  草木物语  阅读(43)  评论(0编辑  收藏  举报