Android Jetpack 从使用到源码深耕【生命周期感知组件Lifecycle从实践到原理 】(二)

上文,我们首先一个简单的实际代码例子入手,开始说明lifecycle被引入的背景,进而我们使用lifecycle实现了简单的需求,本文,我们一起对Lifecycle的自我实现以及源码进行深入探索。

1.自我实现Lifecycle框架

还是三板斧,知道了怎么去用?那么用我们自己的知识体系,不妨先猜一下这个如何做的?用自己所学所想的已有知识,试着去实现这样的一个框架。然后再去看lifecycle的源码中的逻辑,是否如我们所想。

首先梳理一下,有哪些技术难点或者要点要去解决?
1)如何监听fragment、activity等生命周期呢?
2)如何通知观察者,相应的生命周期事件呢?

猜想实现的中心思想:.应该是基于观察者设计模式,想要监听的控件,例如activity、fragment、service等是被观察者,然后这些控件进入相应的函数的时候,通过接口通知观察者。

实现的逻辑:
1)定义监听通知接口
2)被观察者中,进行注册函数的编写实现
3)被观察者中,在相应的生命周期函数中,调用观察者对应的监听回调接口
4)外界调用,监听回调,在里面做相应的业务逻辑

1.1 定义通知接口

按照标准观察者模式设计思想,首先要定义通知接口

猜你喜欢

转载自blog.csdn.net/baobei0921/article/details/129872823