Fragment生命周期详解

Fragment生命周期详解


概述

Fragment和Activity的生命周期很相似,而Fragment又是依附于Activity的(《Activity生命周期详解》),如下图:
Fragment 生命周期

  • onAttach():Fragment和Activity相关联时调用。可以通过该方法获取Activity引用,还可以通过getArguments()获取参数。
  • onCreate():Fragment被创建时调用。
  • onCreateView():创建Fragment的布局。
  • onActivityCreated():当Activity完成onCreate()时调用。
  • onStart():当Fragment可见时调用。
  • onResume():当Fragment可见且可交互时调用。
  • onPause():当Fragment不可交互但可见时调用。
  • onStop():当Fragment不可见时调用。
  • onDestroyView():当Fragment的UI从视图结构中移除时调用。
  • onDestroy():销毁Fragment时调用。
  • onDetach():当Fragment和Activity解除关联时调用。

上面的方法中,只有onCreateView()在重写时不用写super方法,其他都需要。

Fragment生命周期解析

  • 当一个fragment被创建的时候:
Created with Raphaël 2.1.2 onAttach onCreate onCreateView onActivityCreated
  • 当这个fragment对用户可见的时(从创建/切换到显示):
Created with Raphaël 2.1.2 fragment is created onStart onResume fragment is running
  • 当这个fragment进入“后台模式”的时候:
Created with Raphaël 2.1.2 fragment is running onPause onStop fragment is stoped
  • 当这个fragment被销毁了(或者持有它的activity被销毁了):
Created with Raphaël 2.1.2 fragment is running onPause onStop onDestroyView onDestroy onDetach

当进行其他操作时

  • 当屏幕灭掉时:
Created with Raphaël 2.1.2 fragment is running onPause onSaveInstanceState onStop fragment is stoped
  • 当屏幕解锁时:
Created with Raphaël 2.1.2 fragment is stoped onStart onResume fragment is running
  • 当切换到其他Fragment时:
Created with Raphaël 2.1.2 fragment is running onPause onStop onDestroyView
  • 当切换回本身的Fragment时:
Created with Raphaël 2.1.2 onCreateView onActivityCreated onStart onResume fragment is running
  • 当回到桌面:
Created with Raphaël 2.1.2 fragment is running onPause onSaveInstanceState onStop fragment is stoped
  • 当回到应用时:
Created with Raphaël 2.1.2 fragment is stoped onStart onResume fragment is running
  • 当退出应用时:
Created with Raphaël 2.1.2 fragment is running onPause onStop onDestroyView onDestroy onDetach
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值