博客
关于我
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 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>
    mysql 分组统计SQL语句
    查看>>
    Mysql 分页
    查看>>
    Mysql 分页语句 Limit原理
    查看>>
    MySql 创建函数 Error Code : 1418
    查看>>
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    MySQL 到底能不能放到 Docker 里跑?
    查看>>
    mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
    查看>>
    MySQL 加锁处理分析
    查看>>