简介
通过观察者模式的思路去对外响应生命周期变化,简单使用在数据埋点中
引包
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
编写自己的MyLifeObserver 需要继承LifecycleObserver ,这里我只监听了activity的onCreate 和 onStart方法
public class MyLifeObserver implements LifecycleObserver {
private static final String TAG = "MyLifeObserver";
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
private void onCreateTest(){
Log.d(TAG,"onCreateTest");
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
private void onStartTest(){
Log.d(TAG,"onStartTest");
}
}
在你需要监听生命周期的activity中进行绑定
//完成绑定
getLifecycle().addObserver(new MyLifeObserver());
这样就完成生命周期的监听
2019-10-11 17:04:34.116 4132-4132/com.zkq.myviewmodel D/MyLifeObserver: onCreateTest
2019-10-11 17:04:34.121 4132-4132/com.zkq.myviewmodel D/MyLifeObserver: onStartTest
总结
这里只是Lifecycle的简单使用,具体的使用,后续补充
public enum Event {
/**
* 监听 onCreate
*/
ON_CREATE,
/**
* 监听 onStart
*/
ON_START,
/**
*监听 onResume
*/
ON_RESUME,
/**
* 监听 onPause
*/
ON_PAUSE,
/**
* 监听 onStop
*/
ON_STOP,
/**
* 监听 onDestroy
*/
ON_DESTROY,
/**
* 匹配所有的事件
*/
ON_ANY
}