Lifecycle的功能为:给Activity或Fragment添加一个监听器,可以监听它们的生命周期方法的执行,这样做的好处是可以解耦。使用如下:
-
添加依赖
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.0-alpha03"
-
代码
class MyObserver: LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) fun onCreate() { Log.i("ABCD", "onCreate") } @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) fun onDestroy() { Log.i("ABCD", "onDestroy") } } class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) lifecycle.addObserver(MyObserver()) } }
如上代码,我们可以把onCreate或onDestroy的一些事情放到MyObserver类中去写,这样我们的MainActivity就更简洁了,MyObserver中的函数名可以随便写,只要注解中声明要监听哪个生命周期函数即可。