Еще одно видео, в котором рассказывается как правильно писать приложения.

Библиотека architecture components lifecycle призвана помочь вам решить общие проблемы жизненного цикла Android и сделать ваши приложения более сопровождаемыми и тестируемыми.

01-aac

Вместо того, чтобы хранить все данные пользовательского интерфейса в активности положить их в ViewModel.

02-aac

Конструктор вашей ViewModel в настоящее время не принимает никаких параметров, но это можно обойти, используя конструктор по умолчанию, а затем сразу же вызов метода с набором параметров. В качестве альтернативы вы можете использовать класс типа фабрика для создания кастомного конструктора.

03-aac

Еще раз предупреждение: не храните ссылку на контекст в ViewModel.

 

04-aac

Иначе вот что будет.

05-aac

ViewModel не заменяет onSaveInstanceState.

06-aac

 

07-aac

 

08-aac

 

09-aac

 

Ссылки: