Lifecycle:官方介绍
Lifecycle is a class that holds the information about the lifecycle state of a component (like an activity or a fragment) and allows other objects to observe this state.
Lifecycle uses two main enumerations to track the lifecycle status for its associated component。
大概意思是:
生命周期它保存关于组件的生命周期状态(如Activity和Fragment)的信息,并允许其他对象观察此状态。
生命周期使用枚举来跟踪其相关组件的生命周期状态。看源码:(一个记录State,一个记录Event)。

 public static enum State {        DESTROYED,        INITIALIZED,        CREATED,        STARTED,        RESUMED;        private State() {        }        public boolean isAtLeast(@NonNull Lifecycle.State state) {            return this.compareTo(state) >= 0;        }    }    public static enum Event {        ON_CREATE,        ON_START,        ON_RESUME,        ON_PAUSE,        ON_STOP,        ON_DESTROY,        ON_ANY;        private Event() {        }    }

通过一个例子学会控制Activity的生命周期,在各生命周期完成事件:
首先定义一个接口,让其继承LifecycleObserver,在Activity实现此接口:

public interface LifecycleHelper extends LifecycleObserver {    @OnLifecycleEvent(Lifecycle.Event.ON_START)    void onStartLifecycle();    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)    void onCreateLifecycle();    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)    void onResumeLifecycle();    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)    void onPauseLifecycle();    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)    void onStopLifecycle();    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)    void onDestoryLifecycle();}

在onCreate()中订阅:

 getLifecycle().addObserver(this);

在onDestory()解订阅:

 getLifecycle().removeObserver(this);

如下:

public class TeastActivity extends AppCompatActivity implements LifecycleHelper {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_teast);        getLifecycle().addObserver(this);    }    @Override    protected void onDestroy() {        super.onDestroy();        getLifecycle().removeObserver(this);    }    @Override    public void onStartLifecycle() {    }        @Override    public void onCreateLifecycle() {    }    @Override    public void onResumeLifecycle() {    }    @Override    public void onPauseLifecycle() {    }    @Override    public void onStopLifecycle() {    }    @Override    public void onDestoryLifecycle() {    }}

更多相关文章

  1. Android生命周期的学习
  2. android电量状态获取
  3. android 网络状态监听
  4. android的Http请求组件
  5. Android组件通信
  6. android EditText组件
  7. android透明状态栏
  8. Android实现电话状态监控
  9. Android 中Service生命周期

随机推荐

  1. Android中的图片处理——色彩、形状拉伸
  2. 自定义RatingBar
  3. android中的按钮以图片的方式显示_基础篇
  4. Android(安卓)如何保证App切换到后台,或页
  5. android ksoap2 访问https javax.net.ssl
  6. android 设置头像以及裁剪功能
  7. Android--Intent常用(拨号,浏览器,联系人,Wi-
  8. Android(安卓)网星工具箱Beta版
  9. android 反编译入门
  10. https://maven.google.com 连接不上的解