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.碎片完整的生命周期示意图:
相关文章
- 《第一行代码》学习笔记10-活动Activity(8)
- 《第一行代码》学习笔记——第1章 开始启程,你的第一行Android代码
- 《第一行代码》学习笔记37-服务Service(4)
- 《第一行代码》学习笔记5-活动Activity(3)
- 《从零开始学Swift》学习笔记http(Day1)——我的第一行Swift代码
- 第一行代码学习笔记---过时的通知写法
- 安卓开发学习经历2--《第一行代码》coolweather项目SQL语句同一个“陷阱”掉两次 注意转义字符等特殊字符正确书写 关于Id字段自增加体会
- CoolWeather天气个人学习笔记1(第一行代码实战)
- 《第一行代码》学习笔记17-碎片Fragment(2)
- 《第一行代码》学习笔记16-碎片Fragment(1)