Android LiveData使用注意事项

关于LiveData是什么以及基本使用方式,请参考官方文档:developer.android.com/topic/libra…

简单来说,LiveData是一个可被观察的数据容器类。它将数据包装起来,使得数据成为“被观察者”,页面成为“观察者”。当ViewModel存放页面所需要的各种数据发生变化时,通过LiveData的方式实现对页面的通知,完成ViewModel与页面组件之间的通信。

那么在使用时发现有以下几个地方需要注意:

1.回调通知

LiveData的观察者会在每次进入活跃态时收到回调,如果只想收到一次回调的话,可以使用SingleLiveEvent。要注意SingleLiveEvent仅限于一个观察者。如果添加了多个则只会调用一个,并且不能保证哪一个。

2.数据倒灌

所谓数据倒灌是一种形象的说法,它是指先setValue/postValue,后调用observe(new Obs()),至此收到了回调。然后再调用observe(new anotherObs()),如果还能收到第一次的回调,也就是旧数据。解决方案可以参考开源项目:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值