![](/img/trans.png)
[英]In Android Compose function, what's the best way to convert a nullable LiveData variable to Compose state?
[英]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.