2.1、 继承自 AppCompatActivity
首先,我们创建一个 MyObserver.java 类,让它实现 LifecycleObserver 接口( LifecycleObserver 接口是一个空接口,主要是给注解处理器使用),如下:
public class MyObserver implements LifecycleObserver {
private static final String TAG = “MyObserver”;
// 使用注解 @OnLifecycleEvent 来表明该方法需要监听指定的生命周期事件
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void connectListener() {
// …
Log.d(TAG, “connectListener: -------- onResume” );
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void disconnectListener() {
// …
Log.d(TAG, “disconnectListener: ------- onPause”);
}
}
可以看到,我们通过在方法上使用@OnLifecycleEvent
注解使得该方法具有了生命周期感知能力。括号里面的参数,表明需要监听的是什么生命周期事件。Lifecycle 主要就是通过 Event
和 State
这两个枚举类来跟踪所关联组件的生命周期状态。具体的 Event 和 State 之间的转换关系,可以参照下图&