LifecycleObserver是一个接口, 实现之后可以通过注解, 在activity的生命周期中, 会回调相关的方法
public class ProcessLifecycleObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
void onCreate() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
void onStart() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
void onResume() {
}
//每个生命周期都会执行
@OnLifecycleEvent(Lifecycle.Event.ON_ANY)
void onAny() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
void onPause() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
void onStop() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
void onDestroy() {
}
}
在activity中, 使用
getLifecycle().addObserver(new ProcessLifecycleObserver());
之后, 在activity的生命周期中, 会执行ProcessLifecycleObserver
类中的相关方法.
使用场景举例:
- mvp模式的Presenter
- 自定义需要绑定生命周期的库等