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