在Android中更新LiveData的最佳方法是什么?

问题描述 投票:0回答:1

我有两种更新LiveDatavalue的方法。

Fitst

myLiveData.value = myLiveData.value?.apply {
    arg1 = value1
    arg2 = value2
}

只需更新现有值,然后再次传递。

第二

viewState.value = MyObject(arg1 = value1, arg2 = value2)

每次创建一个新对象并传递它。

哪种方式在优化和代码美方面更好?

P.S。第一项重要得多。提前谢谢。

android android-livedata android-architecture-components
1个回答
1
投票

如果您有两个必须同时可用的值,则第二种方法是唯一有意义的方法。使用第一种方法时,第一个值将很快被第二个值覆盖。观察者很可能会错过第一个值。并且,设置了第二个值的[[after附加观察者将永远只能看到第二个值。

每次创建一个新对象的成本不是很高。不要尝试以这种方式进行优化-这根本不相关。
© www.soinside.com 2019 - 2024. All rights reserved.