要点如下:
-
FragmentActivity 是 Activity 支持 Fragment 的基础,其中持有一个 FragmentController 中间类,它是 FragmentActivity 和 FragmentManager 的中间桥接者,对 Fragment 的操作最终是分发到 FragmentManager 来处理;
-
FragmentManager 承载了 Fragment 的核心逻辑,负责对 Fragment 执行添加、移除或替换等操作,以及添加到返回堆栈。它的实现类 FragmentManagerImpl 是我们主要的分析对象;
-
FragmentHostCallback 是 FragmentManager 向 Fragment 宿主的回调接口,Activity 和 Fragment 中都有内部类实现该接口,所以 Activity 和 Fragment 都可以作为另一个 Fragment 的宿主(Fragment 宿主和 FragmentManager 是 1 : 1 的关系);
-
FragmentTransaction 是 Fragment 事务抽象类,它的实现类 BackStackRecord 是事务管理的主要分析对象。
1、api的使用
参考 Fragment详解之一——概述_启舰的博客-CSDN博客_fragment详解
Fragment之间传参
Fragment工具类
源码分析
Fragment的生命周期-源码分析https://mp.weixin.qq.com/s/VPJDRhjOqHX0_l7FGJ4FEQhttps://www.jianshu.com/p/1a5ecf1d93c8http://Fragment那点事④mAdded&mActive
https://juejin.cn/post/6844904090921779214http://【背上Jetpack之Fragment】从源码的角度看Fragment 返回栈 附多返回栈demo
https://chowdera.com/2022/01/202201100501387143.htmlhttp://新版本Fragment的add源码分析
旧版本Fragment的add方法源码分析https://blog.csdn.net/hwliu51/article/details/69841068