1.前言
Lifecycle
是Google推出的一系列的框架组件的其中一个,主要是用来感知Activity
和Fragment
的生命周期。
本文主要介绍如何使用Lifecycle
。
2.一个常见的开发例子
public class TestActivity extends Activity{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
xxx.onCreate();
}
@Override
protected void onStart() {
super.onStart();
xxx.onStart();
}
@Override
protected void onStop() {
super.onStop();
xxx.onStop();
}
}
通常,我们都会写出一些类似上面的代码来监听生命周期。如果有太多这样的调用将会使某个生命周期方法变的非常臃肿。如下一段例子:
@Override
protected void onStart() {
super.onStart();
xxx.onStart();
xxx1.onStart();
xxx2.onStart();
//...
}
Lifecycle
组件能够解决这个问题,从而使代码能够写得更优雅。
3.Lifecycle使用例子
下面来看下如何使用Lifecycle
。
3.1 添加依赖
在相应的moudle
目录下的build.gradle
中添加以下依赖:
dependencies {
//...
def lifecycle_version = "1.1.1"
implementation "android.arch.lifecycle:runtime:$lifecycle_version"
}
3.2 实现LifecycleObserver接口
public class TestLifeCycle implements LifecycleObserver {
private static final String TAG = "test";
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
public void onCreate() {
Log.d(TAG, "onCreate: ");
}
@OnLifecycleEvent(Lifecycle.Event