Какой лучший способ обновить LiveData в Android? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть два способа обновить LiveData value.

Fitst

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

Просто обновить существующее значение и передать его снова .

Второй

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

Каждый раз создавайте новый объект и передавайте его.

Какой путь лучше с точки зрения оптимизации и кода красота?

PS Первый член гораздо важнее. Спасибо заранее.

1 Ответ

1 голос
/ 16 марта 2020

Если у вас есть два значения, которые должны быть доступны одновременно, второй подход является единственным, который имеет смысл. При первом подходе первое значение будет быстро перезаписано вторым. Вполне возможно, что наблюдатель может пропустить первое значение. И наблюдатель, который прикрепляется после установки второго значения, будет видеть только второе значение.

Стоимость создания нового объекта каждый раз не очень велика. Не пытайтесь оптимизировать этот путь - это просто не актуально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...