美文网首页
Android Lifecycle使用

Android Lifecycle使用

作者: 朝zhao阳 | 来源:发表于2020-09-10 17:15 被阅读0次

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 欢迎点赞。。谢谢大家

相关文章

网友评论

      本文标题:Android Lifecycle使用

      本文链接:https://www.haomeiwen.com/subject/cjbpektx.html