android,LiveData会带来多少开销

时间:2020-03-06 13:33:23

标签: android android-livedata

有关使用LiveData的问题。

使用LiveData,您可以免费获得类似的东西:

listener/subscriber support; 
lifeCycle awareness/management; 
cross thread marshaling, etc.

几乎在任何情况下,我们都可以使用liveData作为在任何数据存储库到ui表示之间进行传递的机制。

但是,为了使用它,它必须引入一些所需的对象,就像您自己实现这些功能一样,必须要实现一些支持类。

想知道开销可能是多少/多少?难道只是被忽略了吗?

类似于搜索的情况,它可以使用LiveData,用户界面从存储库询问结果并观察liveData,存储库发布结果,并通知UI。

在没有liveData的情况下也可以完成同样的操作(即运行协程暂停函数以直接从存储库中获取)。

想知道LiveData是否会带来一些不必要的物体,或者称重它们带来的好处。

看到some post,但未找到何时应使用LiveData或不使用LiveData的官方指南,或者LiveData不适合此类情况。也许根本就没有开销?

有什么建议/想法吗?

1 个答案:

答案 0 :(得分:0)

使用MVVM(模型视图ViewModel)时,有两个主要选项可将数据从ViewModel发送到视图(更新视图)。

  • 数据绑定
  • LiveData

如果您不想使XML布局复杂化,我们通常使用LiveData,它基于 Observer Design Pattern 。 使用Kotlin Coroutines不会带来LiveData的全功能包。 使用LiveData,您可以从另一个线程到主线程获取postValue, 您可以从视图内部观察更改,然后...

PLUS:Kotlin协程用于多线程,与LiveData(用于保存数据的组件)无关。

相关问题