Android Jetpack架构组件(四)之LiveData

一、 LiveData简介

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

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

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

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

那相比其他的一些观察者技术&#

你可能感兴趣的:(深入Android应用开发)