博客
关于我
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:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>
    mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
    查看>>
    mysqldump 参数--lock-tables浅析
    查看>>
    mysqldump 导出中文乱码
    查看>>
    mysqldump 导出数据库中每张表的前n条
    查看>>
    mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
    查看>>
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    查看>>
    mysqldump备份时忽略某些表
    查看>>
    mysqldump实现数据备份及灾难恢复
    查看>>
    mysqldump数据库备份无法进行操作只能查询 --single-transaction
    查看>>
    mysqldump的一些用法
    查看>>
    mysqli
    查看>>
    MySQLIntegrityConstraintViolationException异常处理
    查看>>
    mysqlreport分析工具详解
    查看>>
    MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
    查看>>
    Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
    查看>>
    mysql_real_connect 参数注意
    查看>>
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>