Android中Fragment与Activity的生命周期对比

 更新时间:2016年02月25日 11:54:30   作者:高杰才_Android  
这篇文章主要介绍了Android中Fragment与Activity的生命周期对比,Fragment是在Activity的基础之上进行设计的,比Activity多出几个控制生命周期的回调函数,需要的朋友可以参考下

Fragment必须是依存于Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期。官网这张图很好的说明了俩者的关系:

2016225115117535.jpg (373×684)

可以看到Fragment比Activity多了几个额外的生命周期回调函数:

onAttach(Activity);  //当Activity与Fragment发生关联时调用

onCreateView(LayoutInflater,ViewGroup,Bundle);  //创建该Fragment的视图

onActivityCreate(bundle);  //当Activity的onCreate();方法返回时调用

onDestoryView();  //与onCreateView相对应,当改Fragment被移除时调用

onDetach();  //与onAttach()相对应,当Fragment与Activity的关联被取消时调用

注意:除了onCreateView,其他的所有方法如果你重写了,必须调用父类对于该方法的实现。

场景演示 :

切换到该Fragment

11-29 14:26:35.095: D/AppListFragment(7649): onAttach
11-29 14:26:35.095: D/AppListFragment(7649): onCreate
11-29 14:26:35.095: D/AppListFragment(7649): onCreateView
11-29 14:26:35.100: D/AppListFragment(7649): onActivityCreated
11-29 14:26:35.120: D/AppListFragment(7649): onStart
11-29 14:26:35.120: D/AppListFragment(7649): onResume

屏幕灭掉:

11-29 14:27:35.185: D/AppListFragment(7649): onPause
11-29 14:27:35.205: D/AppListFragment(7649): onSaveInstanceState
11-29 14:27:35.205: D/AppListFragment(7649): onStop

屏幕解锁

11-29 14:33:13.240: D/AppListFragment(7649): onStart
11-29 14:33:13.275: D/AppListFragment(7649): onResume

切换到其他Fragment:

11-29 14:33:33.655: D/AppListFragment(7649): onPause
11-29 14:33:33.655: D/AppListFragment(7649): onStop
11-29 14:33:33.660: D/AppListFragment(7649): onDestroyView

切换回本身的Fragment:

11-29 14:33:55.820: D/AppListFragment(7649): onCreateView
11-29 14:33:55.825: D/AppListFragment(7649): onActivityCreated
11-29 14:33:55.825: D/AppListFragment(7649): onStart
11-29 14:33:55.825: D/AppListFragment(7649): onResume

回到桌面

11-29 14:34:26.590: D/AppListFragment(7649): onPause
11-29 14:34:26.880: D/AppListFragment(7649): onSaveInstanceState
11-29 14:34:26.880: D/AppListFragment(7649): onStop

回到应用

11-29 14:36:51.940: D/AppListFragment(7649): onStart
11-29 14:36:51.940: D/AppListFragment(7649): onResume

退出应用

11-29 14:37:03.020: D/AppListFragment(7649): onPause
11-29 14:37:03.155: D/AppListFragment(7649): onStop
11-29 14:37:03.155: D/AppListFragment(7649): onDestroyView
11-29 14:37:03.165: D/AppListFragment(7649): onDestroy
11-29 14:37:03.165: D/AppListFragment(7649): onDetach

比Activity多了一些生命周期,完整和Activity对接上,大家好好利用。

相关文章

  • Android仿QQ可拉伸头部控件

    Android仿QQ可拉伸头部控件

    这篇文章主要为大家详细介绍了Android仿QQ可拉伸头部控件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Android获取assets文件夹中的数据并写入SD卡示例

    Android获取assets文件夹中的数据并写入SD卡示例

    这篇文章主要介绍了Android获取assets文件夹中的数据并写入SD卡示例,对初学Android开发的朋友来说是一个很实用的功能,需要的朋友可以参考下
    2014-07-07
  • Android自定义ViewGroup实现选择面板

    Android自定义ViewGroup实现选择面板

    ViewGroup是上面提到的所有的父控件的父类;但ViewGroup是一个抽象类,它里面有一个抽象方法onLayout,这个方法的作用就是摆放它所有的子控件(安排位置),因为是抽象类,不能直接new对象,所以我们在布局文件中不能直接使用 ViewGroup
    2022-07-07
  • Android启动页解决方案(推荐)

    Android启动页解决方案(推荐)

    启动页几乎成为了每个app的标配,有些商家在启动页中增加了开屏广告以此带来更多的收入。目前启动页的广告都有倒计时的功能,那么我们在倒计时的过程中能做些什么呢?下面通过本文给大家详细介绍供大家参考
    2017-03-03
  • 去掉ListView底部的ListDivider的方法

    去掉ListView底部的ListDivider的方法

    下面小编就为大家带来一篇去掉ListView底部的ListDivider的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android Studio如何快速导入jar和.so文件

    Android Studio如何快速导入jar和.so文件

    这篇文章主要介绍了Android Studio如何快速导入jar和.so文件的相关知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Android序列化之Parcelable和Serializable的使用详解

    Android序列化之Parcelable和Serializable的使用详解

    本篇文章主要介绍了Android序列化之Parcelable和Serializable的使用详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Android编程经典代码集锦(复制,粘贴,浏览器调用,Toast显示,自定义Dialog等)

    Android编程经典代码集锦(复制,粘贴,浏览器调用,Toast显示,自定义Dialog等)

    这篇文章主要介绍了Android编程经典代码集锦,包括Android的复制,粘贴,浏览器调用,Toast显示,自定义Dialog等实现技巧,非常简单实用,需要的朋友可以参考下
    2016-01-01
  • Android 图片缓存机制的深入理解

    Android 图片缓存机制的深入理解

    这篇文章主要介绍了Android 图片缓存机制的深入理解的相关资料,这里提供了实现实例帮助大家理解图片缓存机制的知识,需要的朋友可以参考下
    2017-08-08
  • android post请求接口demo

    android post请求接口demo

    这篇文章主要为大家详细介绍了android post请求接口测试代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02

最新评论