您当前的位置: 首页 >  android jetpack

xiangzhihong8

暂无认证

  • 0浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android Jetpack架构组件(四)之LiveData

xiangzhihong8 发布时间:2020-12-13 10:52:11 ,浏览量:0

一、 LiveData简介

LiveData是Jetpack架构组件Lifecycle 库的一部分,是一个可感知生命周期的可观察容器类 (Observable)。与常规的可观察类不同,LiveData 具有生命周期感知能力,这意味着它具有感知应用组件(如 Activity、Fragment 或 Service)的生命周期的能力,并且LiveData仅更新处于活跃生命周期状态的应用组件观察者。

因此,LiveData具有如下一些特效。

  • LiveData是一个持有数据的容器类,它持有的数据是可以被观察者订阅的,当数据发生变化时会通知观察者,观察者可以是 Activity、Fragment、Service 等对象。
  • LiveData 具有感知观察者的生命周期能力,并且只有当观察者处于激活状态(STARTED、RESUMED)才会接收到数据更新的通知,在未激活时会自动解除注册观察者,以降低内存泄漏的风险。
  • 使用 LiveData 保存数据时,由于数据和组件是分离的,所以当组件被销毁时可以保证数据不会丢失。

因此,我们认为LiveData就是一个数据容器,它负责将数据包裹起来,使数据成为被观察者,当数据发生变化时,LiveData会通知观察者以便观察者做出响应。

那相比其他的一些观察者技术,如RxJava什么的,LiveData有哪些优势吗,下面是官方给出的一些优点列举。

  • 确保 UI 界面始终和数据状态保持一致。
  • 不会发生内存泄漏。观察者绑定到 Lifecycle 对象并在其相关生命周期 destroyed 后自行解除绑定。
  • 不会因为 Activity 停止而发生奔溃。如 Activit
关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.1080s