• 欢迎加“百元导航”为主页,windows8风格,0.3s极速加载
  • 王柏元的博客专用搜索引擎:极客人,就用“极客搜”!
  •    2年前 (2015-06-15)  百元百科 软件开发 |   抢沙发  77 
    文章评分 0 次,平均分 0.0

    1   生命周期两张图

    Fragment生命周期图:

     

    AndroidFragment生命周期详解

    android-fragment生命周期

    Fragment与Activity生命周期对比图:

    AndroidFragment生命周期详解

    2   生命周期分析

    1. 当一个fragment被创建的时候,它会经历以下状态.

    • onAttach()
    • onCreate()
    • onCreateView()
    • onActivityCreated()

    2. 当这个fragment对用户可见的时候,它会经历以下状态。

    • onStart()
    • onResume()

    3. 当这个fragment进入“后台模式”的时候,它会经历以下状态。

    • onPause()
    • onStop()

    4. 当这个fragment被销毁了(或者持有它的activity被销毁了),它会经历以下状态。

    • onPause()
    • onStop()
    • onDestroyView()
    • onDestroy() // 本来漏掉类这个回调,感谢xiangxue336提出。
    • onDetach()

    5. 就像activitie一样,在以下的状态中,可以使用Bundle对象保存一个fragment的对象。

    • onCreate()
    • onCreateView()
    • onActivityCreated()

    6. fragments的大部分状态都和activitie很相似,但fragment有一些新的状态。

    • onAttached() —— 当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)。
    • onCreateView() —— 当activity要得到fragment的layout时,调用此方法,fragment在其中创建自己的layout(界面)。
    • onActivityCreated() —— 当activity的onCreated()方法返回后调用此方法
    • onDestroyView() —— 当fragment中的视图被移除的时候,调用这个方法。
    • onDetach() —— 当fragment和activity分离的时候,调用这个方法。

    一旦activity进入resumed状态(也就是running状态),你就可以自由地添加和删除fragment了。因此,只有当activity在resumed状态时,fragment的生命周期才能独立的运转,其它时候是依赖于activity的生命周期变化的。

     

    本文转自http://www.cnblogs.com/purediy/p/3276545.html,为了尊重作者的劳动成果,转载请注明出处!本站链接:http://wangbaiyuan.cn/android-fragment.html

    关于
    记录生活,镌刻心路;泼洒文墨,分享技术!王柏元的博客致力于IT经验交流,并原创翻译引进外文文章,打开IT国际化视野

    发表评论

    格式

    暂无评论

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册