根据LiveData
documentation,其中一项功能旨在使用可观察的模式来通知数据更改。
(与此同时,LiveData还提供了许多其他有希望的功能)
另一方面,基于documentation的Observable data object
可以通知其他人有关其数据的更改。
结果,这两个功能似乎是相同的。
问题是:
将LiveData
与其他功能结合使用会更好吗?
答案 0 :(得分:2)
根据LiveData文档:
LiveData是可观察的数据持有者类。与常规的可观察对象不同,LiveData具有生命周期感知功能,这意味着它尊重其他应用程序组件(例如活动,片段或服务)的生命周期。这种意识确保LiveData仅更新处于活动生命周期状态的应用程序组件观察者。
因此,它本质上是一种可感知生命周期的,现在它是一个优势,不是吗?
但是,对于仅使用RxJava
或LiveData
并没有任何限制,两者可以一起使用。
实际上,最好在数据层中没有像 Repository 这样的生命周期可用的情况下使用RxJava,并将LiveData
保留在生命周期很重要的层中,例如 Presentation 。 strong>层。
答案 1 :(得分:1)
LiveData就像可观察的对象,但是与可观察的对象不同,它是生命周期感知的。因此,这意味着实时数据将仅更新处于活动状态的应用程序组件观察器。但是,您并不总是需要使用实时数据。我想说,当涉及生命周期组件(例如活动和片段)时,livedata会派上用场。有关更多信息,请查看When to use RxJava in Android and when to use LiveData from Android Architectural Components?