繁体   English   中英

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

[英]What's the best way to update LiveData in Android?

我有两种更新LiveData value

适合

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

只需更新现有值并再次传递它。

第二

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

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

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

PS 第一个术语要重要得多。 提前谢谢。

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

每次创建一个新对象的成本并不是很大。 不要尝试以这种方式进行优化 - 它根本不相关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM