Вступить в клуб →
лёгкаявопросMVVM, MVI и многомодульность

ViewModel хранит ссылку на TextView, чтобы сразу выставить текст

class ProfileViewModel : ViewModel() {
    var nameView: TextView? = null

    fun load() = viewModelScope.launch {
        nameView?.text = repository.profile().name
    }
}

Фрагмент в onViewCreated делает viewModel.nameView = binding.name. После пары поворотов LeakCanary сообщает об утечке Activity. Почему?

  • ViewModel живёт дольше View и держит старый экран
  • viewModelScope не отменяется при повороте
  • TextView нельзя менять из корутины
  • LeakCanary ложно срабатывает на ViewModel

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела