Jetpack---LiveData

1.livedata 是一个可被观察的数据容器类,可将数据包装起来,是数据成为被观察者,当数据发生变化的时候能够让观察者得到通知,使用不需要自己实现观察者模式,livedata内部已经实现好。同时livedata具有生命感知能力,可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。页面处于(Lifecycle.State.ON_STARTED或Lifecycle.State.ON_RESUME)页面能够收到livedata的通知,若页面被销毁(Lifecycle.State.ON_DESTROY)时,Livedada会清除与页面的关联,避免大声内存泄漏问题

2.使用方法:livedata是一个抽象类 不能直接使用 可以直接使用子类MutableLivedata

 

 

3.修改LiveData所包装的数据时 通过LiveData.setValue(UI线程中) 和LiveData.postValue(非UI线程)

4.Livedata.observeForever()方法与Livedata.observe()区别,当LiveData所包装的数据发生变化时,无论页面处于什么状态,都会收到通知,所以用完后一定要调用removeObserver()停止观察。否则Activity处于激活状态 不会被系统自动回收。

参考:https://developer.android.google.cn/topic/libraries/architecture/livedata#java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值