博客
关于我
Fragment和Activity的生命周期图
阅读量:557 次
发布时间:2019-03-07

本文共 1229 字,大约阅读时间需要 4 分钟。

Fragment作为Android中的重要组件,其生命周期管理至关重要。理解Fragment的生命周期可以帮助开发者更好地规划和管理Fragment的显示和状态。下面将详细介绍Fragment的各个生命周期方法及其作用。

Fragment的生命周期包括多个关键方法:

  • onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState)

    在Activity.onCreate之前调用,可用于获取除了View之外的资源 Cheney.

  • onAttach(Activity activity)

    当Fragment第一次与Activity产生关联时会调用,此后不会再调用。

  • onCreate(Bundle savedInstanceState)

    在onAttach执行完后立即调用,通常用于读取保存的数据或初始化片段资源。此方法不会显示任何视图,因此若需要访问网络或获取数据,建议在新线程中操作。

  • onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

    创建Fragment显示的视图。inflater用于加载布局文件,container是父标签对应的ViewGroup,savedInstanceState用于获取Fragment保留的状态数据。

  • onViewDestroyed(View view)

    在 criatedView 设置后会调用。此方法特别重要,可用于释放或回收相关资源。

  • onActivityCreated(Bundle savedInstanceState)

    在Activity.onCreate执行完成后立即调用,表示窗口已初始化,适合调用控件相关的逻辑。

  • ** onStart()**

    开始执行与视图相关的逻辑代码,如处理键盘点击事件。

  • ** onResume()**

    是Fragment从创建到最后显示的方法之一,适合执行延后处理或动态更新操作。

  • onPause()

    当Fragment即将从Activity切换到另一个Fragment或退出时触发,通常用于保存当前的状态或释放一些非持有资源。

  • ** onStop()**

    Fragment完全从屏幕上消失时调用,适合释放持有资源。

  • onDestroyView()

    当Fragment从Activity退回回退栈或被保存到状态时调用,用以释放与视图相关的资源。

  • onDestroy()

    当Fragment完全不再使用时触发,如按下返回键退出时调用,适合回收资源或释放长期保留的引用。

  • onDetach()

    Fragment完全脱离Activity关联触发,资源释放完毕。

  • 这些生命周期方法不仅帮助Fragment与Activity互动,还能有效管理片段的显示和状态,确保应用程序的运行流畅。

    转载地址:http://hijnz.baihongyu.com/

    你可能感兴趣的文章
    mysql 索引
    查看>>
    MySQL 索引失效的 15 种场景!
    查看>>
    MySQL 索引深入解析及优化策略
    查看>>
    MySQL 索引的面试题总结
    查看>>
    mysql 索引类型以及创建
    查看>>
    MySQL 索引连环问题,你能答对几个?
    查看>>
    Mysql 索引问题集锦
    查看>>
    Mysql 纵表转换为横表
    查看>>
    mysql 编译安装 window篇
    查看>>
    mysql 网络目录_联机目录数据库
    查看>>
    MySQL 聚簇索引&&二级索引&&辅助索引
    查看>>
    Mysql 脏页 脏读 脏数据
    查看>>
    mysql 自增id和UUID做主键性能分析,及最优方案
    查看>>
    Mysql 自定义函数
    查看>>
    mysql 行转列 列转行
    查看>>
    Mysql 表分区
    查看>>
    mysql 表的操作
    查看>>
    mysql 视图,视图更新删除
    查看>>
    MySQL 触发器
    查看>>
    mysql 让所有IP访问数据库
    查看>>