Lifecycle是Android中引入的主要用来观察和监听Activity、Fragment生命周期的一套观察者机制。
在这个机制中有两个核心类,一个是LifecycleOwner接口,该接口有一个getLifecycle()方法,实现了这个接口的类就可以作为一个被观察者,AppCompatActivity和Fragment就实现了这个接口,所以它们的生命周期就可以被观察和监听。另一个是LifecycleObserver接口,实现了这个接口的类就可以作为一个观察者。基本使用如下:
1.activity中使用
getLifecycle().addObserver(new MyObserver());
2.自定义 LifecycleObserver
public class MyObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void resume(){
Log.e("tag","resume");
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void pause(){
Log.e("tag","pause");
}
}
3.当Activity中的生命周期方法回调时,都会回调LifecycleObserver中对应的监听方法,这样就完成了对Activity生命周期的观察和监听。