安卓 Fragment (未完)
学习笔记 - https://mp.weixin.qq.com/s/VPJDRhjOqHX0_l7FGJ4FEQ
概述
Fragment 用于将 Activity 视图拆分为 多个区块进行模块化管理,(视图控制器),具备生命周期和事务,托管与 Activity 或另一个 Fragment。
从微型Activity 角度设计,太过复杂。
Fragment结构
FragmentActivity.java
Framgent 整体的代码框架

Fragment 宿主和 FragmentManager 是 1 : 1 的关系

生命周期
状态转移才是生命周期的本质(Activity 同理)。生命周期方法的本质是Fragment 状态转移,当生命周期方法被调用,说明 Fragment 从一个状态转移到另一个状态,而所谓的 “生命周期回调” 只是 Framework 提供给开发者使用的 Hook 点,用于在状态转移时执行自定义逻辑。
static final int INITIALIZING = 0; 初始状态,Fragment 未创建
static final int CREATED = 1; 已创建状态,Fragment 视图未创建
static final int ACTIVITY_CREATED = 2; 已视图创建状态,Fragment 不可见
static final int STARTED = 3; 可见状态,Fragment 不处于前台
static final int RESUMED = 4; 前台状态,可接受用户交互
Fragment 的生命周期主要受「宿主」、「事务」、「setRetainInstance() API」三个因素影响:当宿主生命周期发生变化时,会触发 Fragment 状态转移到 宿主的最新状态。不过,使用事务和 setRetainInstance() API 也可以使 Fragment 在一定程度上与宿主状态不同步(需要注意:宿主依然在一定程度上形成约束)。

>>>按时吃饭,多喝热水,适量锻炼,祝你平安

浙公网安备 33010602011771号