我们知道Activity有着自己的生命周期,在不同的阶段有着不同的回调函数,比如onCreate、onResume等等。这些回调是非常常用的,因为你时常要利用它们完成一些事情,比如你如果用EventBus的话,可能需要分别在onCreate和onDestroy中注册和取消监听器。类似这样的操作多了去了,需要一个方便的工具来做这些操作,那就是LifeCycle组件。
LifeCycle类把生命周期给抽象了出来,包含了不同的状态和事件,事件一来,状态就变,参考下图:

LifeCycle可以表达Activity和Fragment的生命周期,那怎么获取LifeCycle对象呢?Activity和Fragment都实现了LifecycleOwner接口,这个接口提供了getLifecycle()方法,调用这个方法就能获取到Activity和Fragment对应的LifeCycle了。之后就可以像下面这样添加生命周期监听器了:
public class MyObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void connectListener() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void disconnectListener() {
}
}
myLifecycleOwner.getLifecycle().addObserver(new MyObserver());
LifecycleObserver这个接口没有方法,你可以随便加个方法,然后加上注解@OnLifecycleEvent 以表示这个方法相应哪个事件。上面代码中的connectListener方法就会在ON_RESUME事件发生的时候执行,如果是在Activity里,那connectListener就会在onResume方法里执行。
好了LifeCycle主要内容就这么点,虽然他是一个单独的模块儿,你可以单独使用LifeCycle,但是通常情况下它需要和LiveData和ViewModel配合使用。单独使用的话在build.gradle中添加以下依赖(版本号视情况而定):

查看更多依赖设置请点击这里
我们知道Activity有着自己的声明周期,
—- 我们不知道怎么办?
来~我送你一本Android入门教程
干脆这样,从你那儿买二十节 Android课程, 能入门Android不?
啥,我有还有二十节安卓课程?在哪里?
开班授课比自己写Android要赚钱吧。。。。
谁会来上课呢 = = 。。我又没啥名气