LiveData相关详解

一、基础概念

        LiveData是一种可观察的数据存储类,具有生命周期感知能力。当其数据更新时,会更新通知给处于活跃状态(STARTEDRESUMED)的观察者(Observer

      下图为LiveData具有的优势(截自官网),可以说LiveData的存在,为界面数据的处理提供了非常大的便利

二、实际运用

Android提供了简单的封装类MutableLiveData,设置好泛型即可实现一个LiveData。提供了setValuepostValuegetValueobserve等常用方法,分别用于在主线程设置数据,在其他线程设置数据,获取数据,绑定观察者并在onChange中设置数据改变后的操作事件

另外,支持用户自定义扩展LiveData,只需继承LiveData,并直接进行代码扩充即可

三、setValue和postValue详解

LiveData中,同为更新数据的setValue方法只能在主线程调用;postValue可以在任何线程调用,但是多次调用,只会以最后一次更新数据为准。

set中,做出了对主线程的要求限制。

post中,通过NOT_SET Object对象)做限制,仅讲最后一次post进入的数据转发到主线程中,通过set方法更新数据。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值