LiveData против наблюдаемого объекта данных - PullRequest
0 голосов
/ 01 декабря 2018

Согласно документации LiveData , одна из функций была разработана для уведомления об изменениях данных с использованием наблюдаемого шаблона.(Наряду с этим LiveData предлагает ряд других многообещающих функций)

С другой стороны, Observable data object, основанный на документации , способен уведомлять других об изменениях в своих данных.

В результате эти две функции кажутся одинаковыми.

Вопрос:

не лучше ли использовать LiveData с другими его функциями?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Согласно документации LiveData:

LiveData - это наблюдаемый класс держателя данных.В отличие от обычной наблюдаемой, LiveData учитывает жизненный цикл, то есть он учитывает жизненный цикл других компонентов приложения, таких как действия, фрагменты или службы.Эта осведомленность гарантирует, что LiveData обновляет только те компоненты приложения, которые находятся в активном состоянии жизненного цикла.

Так что это, по сути, наблюдаемый жизненный цикл наблюдаемый, теперь это преимущество, не так ли?не так ли?Однако на самом деле нет никаких ограничений на использование только RxJava или LiveData, оба могут использоваться вместе друг с другом.

На самом деле, лучше использовать RxJava, когда нет жизненного цикла, такого как Репозиторий на уровне данных, и сохранять LiveData в слоях, жизненный цикл которых важен, например, Presentation слой.

0 голосов
/ 04 декабря 2018

LiveData подобна наблюдаемой, но, в отличие от наблюдаемой, она осведомлена о жизненном цикле.Таким образом, это означает, что текущие данные будут обновлять только те компоненты приложения, которые находятся в активном состоянии.Тем не менее, вам не всегда нужно использовать livingata.Я бы сказал, что liveata пригодится, когда задействованы такие компоненты жизненного цикла, как действия и фрагменты.Для получения дополнительной информации смотрите Когда использовать RxJava в Android и когда использовать LiveData из Android Architectural Components?

...