Если вы не собираетесь устанавливать LifecycleOwner
, то вы также можете не использовать LiveData
.
Одним из самых больших преимуществ использования LiveData
, особенно с Room
и DataBinding
, является его способность учитывать жизненный цикл и иметь наблюдаемые значения.Это означает, что он сможет автоматически обновлять ваши представления с последними обновленными данными.
В соответствии с официальной документацией : setLifecycleOwner()
используется для LiveData
, чтобы иметь возможность наблюдатьизменения, такие как Room
.Если не установлено значение LifecycleOwner
, то значение LiveData
не будет соблюдаться, и никакие обновления не будут отправляться на ваш пользовательский интерфейс через привязку данных.
Для быстрого теста я прокомментировал binding.setLifecycleOwner(this)
в одном из моих занятий.Результаты подтвердили, что документация соответствует действительности.Мой пользовательский интерфейс больше не получал изменений от моих LiveData
объектов.