Выбор ответа Middle DI: Hilt и Koin спрашивают часто обновлено

Когда Hilt проверяет граф

Вопрос

Что произойдёт, если для параметра @Inject constructor в Hilt нет биндинга?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сборка упадёт: граф Dagger/Hilt проверяется при компиляции. Hilt построен на Dagger, который генерирует код фабрик и проверяет полноту графа при компиляции (через KSP или kapt).

Варианты ответа

  1. Приложение упадёт при открытии экрана, где нужен этот объект
  2. Hilt подставит null, и упадёт уже первый вызов метода зависимости
  3. Hilt создаст объект через рефлексию по публичному конструктору
  4. Сборка упадёт: граф Dagger/Hilt проверяется при компиляцииправильный ответ

Разбор

Hilt построен на Dagger, который генерирует код фабрик и проверяет полноту графа при компиляции (через KSP или kapt). Отсутствующий биндинг даёт ошибку сборки MissingBinding с путём зависимости. Рефлексии и подстановки null нет. Падение при запуске это поведение рантайм-DI вроде Koin без проверки модулей.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.