@Harmonizr прислал статью, в которой критикуют ViewModel. Все доводы по сути опираются на то, что ViewModel не умеет переживать смерть процесса и, чтобы сохранить состояние, приходится городить костыли. Ну, тут сложно поспорить, всё действительно так. Но у меня есть несколько противопоставлений:
1. Иногда действительно нужно сохранять много. Вот бывают такие кейсы, ничего с этим не сделаешь. А поскольку Android будет в нас плеваться TransactionTooLargeException, эти данные мы всё равно потеряем и будем грузить заново
2. В некоторых случаях действительно можно наплевать на save and restore flow. Например, если в куске аппа не требуется никакого persistence, сессия истекает через 10 минут, а данных больно много
3. Ну и были слухи, что Google что-то накрутит для save and restore у ViewModel, если мне не изменяет память
Ну и да, в App in the Air мы довольно активно пользуемся ViewModel и LiveData. Нам они здорово помогают. Я считаю, что нельзя выбирать технологию X и говорить, что её не надо использовать. У всего есть своя область применимости. Использование мозга никто не отменял. Пользуйтесь тем, что решает вашу задачу хорошо.
#viewmodel #architecture #components
https://www.techyourchance.com/android-viewmodel-architecture-component-harmful/