简单介绍JetPack LifeCycle的使用方式
项目大概结构:
1、在项目中引用LifeCycle库:
在app的build.gradle文件的依赖内添加
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
如
注:项目需为Androidx项目
2、 新建 LifecycleObserver 的继承类,进行逻辑处理的类:
这边在类的start方法内只进行打印日志,可以看到方法的上方有LifeCycle的注解
@OnLifecycleEvent(Lifecycle.Event.ON_START)
表示在绑定的Activity运行到Onstart时,该方法将执行
这样的注解在LifeCycle中还有
这些事件分别对应Activity的生命周期,如
Lifecycle.Event.ON_CREATE = onCreate
Lifecycle.Event.ON_START = onStart
Lifecycle.Event.ON_RESUME = onResume
Lifecycle.Event.ON_PAUSE = onPause
Lifecycle.Event.ON_STOP = onStop
Lifecycle.Event.ON_DESTROY = onDestroy
其中Lifecycle.Event.ON_ANY表示所有的事件
3、将LifeCycleClass类绑定到Activity中:
getLifecycle().addObserver(new LifeCycleClass());
完成后执行结果如下图
结语:LifeCycle是JetPack中比较简单的组件,在使用时看似可有可有,比如我们可以在需要的类中实例化后再直接在Activity的生命周期调用,但这样增加了Activity的负担,且结构复杂,若是使用LifeCycle,可以看出Activity中少了很多逻辑代码,结构上也清晰了很多。