近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。
一、Fragment的事务
再讲Fragment的生命周期之前,一定要讲一下FragmentTransaction也就是fragment的事务,这对我们理解生命周期有很重要的作用。
那么什么是事务?根据用户的交互情况,对fragment进行添加(add)、移除(remove)、替换(replace),以及执行其他动作,提交给activity的每一套变化,被称为一个事务。事务当中存在一个堆栈的数据结构,它允许用户经由fragment的变化往回导航(就是和activity回跳类似,这和activity之间跳转实现都是一样的,均用堆栈实现)。用户可以通过添加FragmentTransaction.addToBackStack(null)函数(一定要在FragmentTrasaction.commit()之前调用),将此Fragment添加到后台堆栈。了解了事务之后我们再来看一下Fragment的生命周期。
二、Fragment生命周期
1、Fragment的生命周期
2、与Activity生命周期的对比