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中的函数名可以随便写,只要注解中声明要监听哪个生命周期函数即可。