Android Lifecycle使用

Lifecycle作用:让所有定义组件都有生命周期

使用Lifecycle的继承LifecycleOwner

BaseActivity代码

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

    mLifecycleRegistry =new LifecycleRegistry(this);

    mLifecycleRegistry.setCurrentState(Lifecycle.State.CREATED);

}

@Override

protected void onStart() {

super.onStart();

    mLifecycleRegistry.setCurrentState(Lifecycle.State.START);

}

@Override

protected void onResume() {

super.onResume();

    mLifecycleRegistry.setCurrentState(Lifecycle.State.RESUMED);

}

---------------------------------------------------------------

使用的组件中添加下面代码

private LifecycleOwner mLifecycleOwner;

public void setLifecycleOwner(LifecycleOwner lifecycleOwner) {

mLifecycleOwner = lifecycleOwner;

    mLifecycleOwner.getLifecycle().addObserver(new LifecycleEventObserver() {

@Override

        public void onStateChanged(LifecycleOwner source, final Lifecycle.Event event) {

if (event == Lifecycle.Event.ON_CREATE) {

onCreate();

            }else if (event == Lifecycle.Event.ON_START) {

onStart();

            }else if (event == Lifecycle.Event.ON_RESUME) {

onResume();

            }

//其它生命周期自己补全

}

});

}

public void onCreate() {

Log.e(TAG, "onCreate:");

}

public void onStart() {

Log.e(TAG, "onStart:");

}

public void onResume() {

Log.e(TAG, "onResume:");

}

-----------------------------------------

调用的地方 直接 使用该组件 xxxxView..setLifecycleOwner(this);

声明一下 网上喜欢搞文章的能不能把你们的用法和原理分开写,那么多东西你自以为很牛,你以为总是你以为的,新手想上路都困难,请你们不要给android 新手开发增加难度了,大婶们

这就是lifecicle jetpack地址 https://github.com/la149457357/jetpack 欢迎点赞。。谢谢大家

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。