Lifecycle与Activity Fragment绑定原理
Lifecycle组件
Lifecycle组件是基于观察者模式实现的跟踪并回调其宿主生命周期状态的组件
Lifecycle具体实现类是LifecycleRegistry
Lifecycle基于状态和事件的变化过程实现触发观察者具体方法
(每个观察者注册时也会有其状态,初始是initialized状态,当lifecycle调用handleLifecycleEvent方法时,lifecycle的状态会变成经过该事件后的状态。
状态是点,事件是线,通过某事件,lifecycle的状态就能进行状态改变,从而调用sync方法同步观察者的状态,而观察者从当前状态转变为另一状态也将触发一系列事件回调)
Lifecycle与Activity的绑定
Lifecycle与FragmentActivity的绑定
protected void onCreate(@Nullable Bundle savedInstanceState) {
...其他代码...
super.onCreate(savedInstanceState);
// 通过在Activity生命周期方法中调用触发事件的方法,通知Lifecycle的观察者
mFragmentLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
mFragments.dispatchCreate()