分析activity中带有fragment生命周期的情况:
下面为 activity和fragment同时运行时候各自的生命周期的方法执行分析 (红色标注属于activity的生命周期)
开始启动:
05-07 05:55:08.553: I/Log(1990): oncreate // 当第一次调用一个Activity就会执行onCreate方法
05-07 05:55:08.553: I/Log(1990): onAttach(Fragment) // 关联fragment到activity
05-07 05:55:08.553: I/Log(1990): onCreate(Fragment) // 创建fragment的时候调用
05-07 05:55:08.553: I/Log(1990): onCreateView(Fragment) // 加载布局 layout , 返回一个view,也可以返回null
05-07 05:55:08.553: I/Log(1990): onActivityCreated(Fragment) // 布局加载后开始调用 , 可以进行一些与activity中的UI交互,不要有耗时操作
05-07 05:55:08.553: I/Log(1990): onStart // 当Activity处于可见状态的时候就会调用onStart方法
05-07 05:55:08.553: I/Log(1990): onStart(Fragment) // 与activity的onstart()一致
05-07 05:55:08.553: I/Log(1990): onResume // 当Activity可以得到用户焦点的时候就会调用onResume方法
05-07 05:55:08.553: I/Log(1990): onResume(Fragment) // 与activity的onResume()一致
按下home按键
05-07 05:55:28.725: I/Log(1990): onPause(Fragment) // 与activity一致
05-07 05:55:28.725: I/Log(1990): onPause // 当Activity被遮住失去焦点的时候就会调用onPause方法 (如dialog)
05-07 05:55:29.221: I/Log(1990): onStop(Fragment) // 与activity一致
05-07 05:55:29.221: I/Log(1990): onStop // 当Activity处于不可见状态的时候就会调用onStop方法 (如电话打进来)
再回到界面
05-07 05:55:49.441: I/Log(1990): onRestart //当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法
05-07 05:55:49.441: I/Log(1990): onStart
05-07 05:55:49.441: I/Log(1990): onStart(Fragment)
05-07 05:55:49.441: I/Log(1990): onResume
05-07 05:55:49.441: I/Log(1990): onResume(Fragment)
销毁activity
05-07 05:59:02.293: I/Log(1990): onPause(Fragment)
05-07 05:59:02.293: I/Log(1990): onPause
05-07 05:59:02.757: I/Log(1990): onStop(Fragment)
05-07 05:59:02.757: I/Log(1990): onStop
05-07 05:59:02.757: I/Log(1990): onDestroyView(Fragment) // 当fragment中的布局被移除的时候调用
05-07 05:59:02.757: I/Log(1990): onDestroy(Fragment) // fragment对象被销毁的时候调用
05-07 05:59:02.757: I/Log(1990): onDetach(Fragment) // fragment对象销毁后跟着与activity解除关联的时候调用
05-07 05:59:02.757: I/Log(1990): onDestroy // 当Activity被销毁时会调用onDestory方法