简介
LifecycleRegistry 适用于监听生命周期的注册组件,主要是了避免在Activity 和 Fragment的生命周期方法中实现依赖组件的操作, 以观察者身份介入当中,使其依赖组件能在Activity 或 Fragment的当前生命周期状态自动调整其行为,又不会Activity 或 Fragment太耦合,使其代码分工明确,理解清晰,维护方便。
状态和事件
图中是构成 Android Activity 生命周期的状态和事件,在Activity 的生命周期状态变化和事件触发都是根据这张图来变化的。
嵌套事件
- addObserver嵌套
- moveToState嵌套
addObserver 是通过mAddingObserverCounter变量标记嵌套个数
moveToState 嵌套 是状态迁移时会发生嵌套,mHandlingEvent来表示正在处理事件中, mNewEventOccurred代表发生了新的事件。
以上是个人比较关心的两个点,特此单独列出来记录,具体源码分析可以移驾尊步下面文章