Преимущество LiveData перед другими реализациями шаблона Observable в том, что LiveData заточена на работу с жизненными циклами Android компонентов, таких как Activity, Fragment и Service.
Для подписки на обновления LiveData используется метод
observe(), который принимает объект типа LifecycleOwner и функциональный интерфейс Observer. Интерфейс
LifecycleOwner реализуется классами Android компонентов, например AppCompatActivity, LifecycleService, Fragment.LiveData доставляет данные только наблюдателям, которые находятся в активном состоянии. Observer входит в активное состояние, когда соответствующий ему lifecycle переходит в состояние
STARTED или RESUMED.LiveData автоматически отписывает наблюдателей, когда их lifecycle переходит в состояние
DESTROYED.