Fragment生命周期

来源:互联网 发布:大数据培训靠谱吗 编辑:程序博客网 时间:2024/06/01 11:28

Fragment生命周期

  • 在Viewpager中使用fragment
  • 在FrameLayout中使用Fragment

在Viewpager中使用fragment

  • viewpager中存放3个fragment,viewpager默认加载3个view

生命周期

  • 初次加载viewpager
03-09 11:53:57.212: I/wj(1347): OneFragment:onAttach03-09 11:53:57.212: I/wj(1347): OneFragment:onCreate03-09 11:53:57.216: I/wj(1347): OneFragment:onCreateView03-09 11:53:57.216: I/wj(1347): OneFragment:onViewCreated03-09 11:53:57.220: I/wj(1347): OneFragment:onActivityCreated03-09 11:53:57.220: I/wj(1347): OneFragment:onStart03-09 11:53:57.224: I/wj(1347): OneFragment:onResume03-09 11:53:57.224: I/wj(1347): TwoFragment:onAttach03-09 11:53:57.224: I/wj(1347): TwoFragment:onCreate03-09 11:53:57.224: I/wj(1347): TwoFragment:onCreateView03-09 11:53:57.224: I/wj(1347): TwoFragment:onViewCreated03-09 11:53:57.224: I/wj(1347): TwoFragment:onActivityCreated03-09 11:53:57.224: I/wj(1347): TwoFragment:onStart03-09 11:53:57.224: I/wj(1347): TwoFragment:onResume
  • 滑动到第二个fragment
03-09 11:55:31.571: I/wj(1347): ThreeFragment:onAttach03-09 11:55:31.571: I/wj(1347): ThreeFragment:onCreate03-09 11:55:31.575: I/wj(1347): ThreeFragment:onCreateView03-09 11:55:31.579: I/wj(1347): ThreeFragment:onViewCreated03-09 11:55:31.579: I/wj(1347): ThreeFragment:onActivityCreated03-09 11:55:31.583: I/wj(1347): ThreeFragment:onStart03-09 11:55:31.591: I/wj(1347): ThreeFragment:onResume
  • 滑动到第三个fragment
03-09 11:56:02.735: I/wj(1347): OneFragment:onPause03-09 11:56:02.739: I/wj(1347): OneFragment:onStop03-09 11:56:02.739: I/wj(1347): OneFragment:onDestroyView
  • 滑回第二个fragment
03-09 11:56:31.723: I/wj(1347): OneFragment:onCreateView03-09 11:56:31.723: I/wj(1347): OneFragment:onViewCreated03-09 11:56:31.727: I/wj(1347): OneFragment:onActivityCreated03-09 11:56:31.727: I/wj(1347): OneFragment:onStart03-09 11:56:31.727: I/wj(1347): OneFragment:onResume
  • 滑回第一个fragment
03-09 11:57:14.087: I/wj(1347): ThreeFragment:onPause03-09 11:57:14.087: I/wj(1347): ThreeFragment:onStop03-09 11:57:14.091: I/wj(1347): ThreeFragment:onDestroyView
  • 最后销毁activity
03-09 11:57:46.691: I/wj(1347): OneFragment:onPause03-09 11:57:46.691: I/wj(1347): TwoFragment:onPause03-09 11:57:47.223: I/wj(1347): OneFragment:onStop03-09 11:57:47.223: I/wj(1347): TwoFragment:onStop03-09 11:57:47.223: I/wj(1347): OneFragment:onDestroyView03-09 11:57:47.223: I/wj(1347): OneFragment:onDestroy03-09 11:57:47.223: I/wj(1347): OneFragment:onDetach03-09 11:57:47.223: I/wj(1347): TwoFragment:onDestroyView03-09 11:57:47.223: I/wj(1347): TwoFragment:onDestroy03-09 11:57:47.223: I/wj(1347): TwoFragment:onDetach03-09 11:57:47.223: I/wj(1347): ThreeFragment:onDestroy03-09 11:57:47.223: I/wj(1347): ThreeFragment:onDetach

在FrameLayout中使用Fragment

  • 存在两种情况,一个是getFragmentManager().beginTransaction().replace()替换,一个是add(),show(),hide()隐藏显示。两个调用的方法不同。

生命周期

  • 第一次添加fragment
08-23 16:20:28.561: I/memejiang(13348): onAttach...........08-23 16:20:28.561: I/memejiang(13348): onCreate...........08-23 16:20:28.562: I/memejiang(13348): onCreateView...........08-23 16:20:28.564: I/memejiang(13348): onActivityCreated...........08-23 16:20:28.564: I/memejiang(13348): onStart...........08-23 16:20:28.564: I/memejiang(13348): onResume...........
  • 调用hide()方法
fragment内部回调该方法onHiddenChanged(boolean hidden)
  • 调用replace()方法
08-23 16:28:41.373: I/memejiang(17694): onPause...........08-23 16:28:41.373: I/memejiang(17694): onStop...........08-23 16:28:41.374: I/memejiang(17694): onDestroyView...........08-23 16:28:41.374: I/memejiang(17694): onDestroy...........08-23 16:28:41.374: I/memejiang(17694): onDetach...........
  • 在fragment中启动另一个activity
03-31 16:48:52.604: I/meme(9551): onPause:
  • 返回原activity
03-31 16:48:48.349: I/meme(9551): onResume:
  • activity销毁
08-23 16:22:20.105: I/memejiang(13348): onPause...........08-23 16:22:20.726: I/memejiang(13348): onStop...........08-23 16:22:20.731: I/memejiang(13348): onDestroyView...........08-23 16:22:20.740: I/memejiang(13348): onDestroy...........08-23 16:22:20.741: I/memejiang(13348): onDetach...........
原创粉丝点击