Android生命周期组件Lifecycle使用详解

如果你觉得这些内容对你有帮助,可以扫码领取!!!!
摘要由CSDN通过智能技术生成

Lifecycle 是具有生命周期感知能力的组件,也就是说,我们能在 Activity 或者 Fragment 的生命周期发生变化的时候得到通知。我们往往会在 Activity 的各种生命中周期方法里执行特定的方法,比如,进行广播的注册和解绑、Eventbus 的注册和解绑等:

public class TestActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}

@Override
protected void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}

@Override
protected void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}
}

如果我们把很多这种需要跟生命周期相关的逻辑代码都直接放在 Activity 的生命周期方法中,Activity 将会变得难以维护。通过 Lifecycle,我们就能避免这种问题。因为本质上我们需要的只是 Activity 或者 Fragment 的生命周期发生改变的时候能通知到我们,以便我们在对应生命周期中执行对应的方法。

Lifecycle 的基本使用

2.0、 导入 Lifecycle 依赖

Lifecycle 被包含在 support library 26.1.0 及之后的依赖包中,如果我们的项目依赖的支持库版本在 26.1.0及以上,那么不需要额外导入 Lifecycle 库,本篇例子中使用的支持库是 28.0.0 :

implementation ‘com.android.support:appcompat-v7:28.0.0’

如果支持库版本小于 26.1.0 ,就需要单独导入 Lifecycle 库 :

implementation “android.arch.lifecycle:runtime:1.1.1”

当然,如果项目已经迁移到了 AndroidX,可以使用下面的方式引入 :

implementation “androidx.lifecycle:lifecycle-runtime:2.0.0”

还是建议大家尝试尽快把项目迁移为AndroidX,因为很多更新,会最先在 AndroidX 中发布,逐渐摆脱传统的suppo

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值