Fragment流程图

Fragment本质上就是一套在所属Activity的窗口View树中添加、删除子View的管理逻辑,调用的接口是ViewGround.addView()和ViewGround.removeView(),并且Fragment的生命周期由所属Activity的生命周期所驱动。正因为无需重新创建Window,所需系统资源远小于创建新的Activity。

一、Fragment部分类图关系:

Fragment流程图_第1张图片

2、静态使用Fragment:在layout布局文件中添加Fragment

可以看出Fragment生命周期完全由Activity生命周期所驱动。


Fragment流程图_第2张图片

3、动态的使用Fragment:在代码中动态添加

在所属Activity resumed状态下添加替换Fragment时,Fragment的生命周期回调函数onXXX()会在FragmentManagerImpl.moveToState()函数中悉数被调用。

Fragment流程图_第3张图片


理解Fragment最重要的就是要理解FragmentManagerImpl.moveToState(int newState, int transit, int transitStyle, boolean always)函数,该函数被调用时参数newState等于Activity当前生命周期状态。

你可能感兴趣的:(android系统层)