1.碎片的状态和回调:
(1)运行状态:碎片可见+所关联的活动处于运行状态。
(2)暂停状态:当活动进入暂停状态(由于另一个未占满屏幕的活动被添加到栈顶),与其相关联的可见碎片会进入暂停状态。
(3)停止状态:活动进入停止状态,相关联的碎片会进入到停止状态。或者,通过调用FragmentTransaction的remove(),replace()
方法将碎片从活动中移除,但有在事务提交之前调用addToBackStack()方法,此时碎片会进入到停止状态。总的来说,进入停止状态
的碎片对用户来说完全不可见,有可能会被系统回收。
(4)销毁状态:碎片依附于活动,当活动被销毁时,相关联的碎片就进入销毁状态。或者,通过调用FragmentTransaction的remove(),
replace()方法将碎片从活动中移除,但在事务提交之前没有调用addToBackStack()方法,则碎片也会进入销毁状态。
2.Fragment类中提供了一系列的回调方法,以覆盖碎片生命周期的每个环节。活动中有的回调方法,碎片中几乎都有。
(1)onAttach()方法:碎片和活动建立关联时调用。(2)onCreateView()方法:为碎片创建视图(加载布局)时调用。
(3)onActivityCreated()方法:确保与碎片相关联的活动一定已经创建完毕的时候调用。(4)onDestroyView()方法:
与碎片相关联的视图被移除的时候调用。(5)onDetach()方法:碎片和活动解除关联时调用。
3.碎片完整的生命周期示意图: