Jetpack相关

134 阅读1分钟

Lifecycle 原理 Lifecycle 内部仅包含一个全局变量,三个抽象方法、两个枚举类。 被观察者: LifecycleOwner 用于连接有生命周期的对象,如activity,fragment 观察者: LifecycleObserver 用于观察查 LifecycleOwner Lifecycle 包含的三个抽象函数,分别用于添加 LifecycleObserver 、移除 LifecycleObserver、获取当前 Lifecycle 所处的状态值。 Lifecycle 内部包含的两个枚举类,用于标记 Activity/Fragment 等具有生命周期状态的事物当前所处的状态

Event 类用于抽象 Activity/Fragment 的生命周期事件发生变化时所触发的事件。例如,当 Activity 的每个生命周期事件回调函数(onCreate、onStart 等)被触发时都会被抽象为相应的 ON_CREATE、ON_START 两个 Event。 State 类用于标记 Lifecycle 的当前生命周期状态。 Activity/Fragment实现LifecycleOwner接口,通过LifecycleRegistry在对应生命周期分发事件Lifecycle.Event,回调到生命周期观察者LifecycleObserver对应订阅方法。