какая-то вью и я решил для нее сделать вьюмодель, я ее сам на вызывающем экране создаю и передаю в этот боттомшит. Вьюмодель наследует класс из sdk ViewModel, когда я покидаю этот экран, во вьюмодели не вызывается onCleared. Хотя экран который хранил экземпяр вьюмодели уже уничтожен. Может ли это быть проблемой? там вроде корутин скоуп должен занулиться
Скоуп там лениво создаётся, на сколько помню. Если вы его не используете, то проблем быть не должно. Другой вопрос, зачем тогда наследоваться от AndroidVM?
А разве он даёт что-то лишнее что мне не нужно? Мне лично удобно наследоваться от абстракции своей, а она уже в свою очередь от androidVm
Ну как минимум coroutineScope. Если вы его заюзаете в своей вьюшке по ошибке и нигде не вызовете onCleared то будут утечки. Т.е. сами себе мину закладываете
Я больше склоняюсь к тому что использование базовых абстрактных классов это подход LSP
Да все принципы там связаны. Но он же не переопределяет наследуемый метод и не ломает его. А просто забивает на необходимость вызова onCleared
Обсуждают сегодня