- 从源码里拷出来,去掉注释,就剩下Lifecycle的抽象类,发现他是一个观察者
- 首先,了解事物的本质
Lifecycle怎么用?
-
写代码体验一下
-
新建项目,添加第一张图右边的依赖,如果是kotlin注意要加kapt
-
新建观察者
-
其实可以直接实现他的父类,他的父类不要实现任何方法,而且这个方法对我们当前没有用
-
我们想要观察activity生命周期需要怎么做呢?
-
我们需要编写一个方法,方法名随意
-
绑定activity
-
activity实现了Lifecycle接口,接口中有一个方法获取Lifecycle,调用他,获取lifecycle,然后绑定观察者
过一下源码
-
先看在activity里面是怎么实现的?
-
ComponentActivity实现了LifecycleOwner接口,
-
提供一个getLifecycle的方法
-
这个方法返回的是LifecycleRegistry(注册者、登记者)
- LifecycleRegistry就是一个Lifecycle
-
同样有他的add,remove方法
-
他是怎么感应activity的周期的呢?然后调用setState,setCurrentState方法的呢?
-
在他的ComponentActivity的onCreat里面找这个东西
-
他们在包里面是平级的,肯定有关系
- ReportFragment是一个Fragment
- 他把自己注入到了activity中,activity里面的fragment当然也会跟随activity同步他的生命周期
分享读者
作者2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。
被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
我们整理了一份阿里P7级别的Android架构师全套学习资料,特别适合有3-5年以上经验的小伙伴深入学习提升。
主要包括腾讯,以及字节跳动,阿里,华为,小米,等一线互联网公司主流架构技术。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。