Lifecycle解析

87 阅读1分钟

Lifecycle

定义一个对象具有Android生命周期,Fragement和FragementActitvity实现了LifecycleOwner接口可以通过getLifecycle()获取到lifecycle,你也可以自己实现LifecycleOwner,lifecycle是一个抽象了,在lifycycle中主要定义了一些生命周期的状态和事件。

image.png

LifecycleRegistry

LifecycleRegistry继承了Lifecycle,LifecycleRegistry主要改变LifeCycle中的和分发事件给LifecylerOwner image.png

LifecycleOwner

ComponentActivity和fragment都实现了该接口. image.png 在fragementActivity中的生命周期方法中都调用LifecycleRegistry.handleLifecycleEvent()来设置当前状态和通知观察者。