В Dagger области (scope) используются для управления временем жизни и уникальностью создаваемых зависимостей. Основные области:
Можешь перечислить и объяснить основные области (scope), используемые в Dagger для управления жизненным циклом зависимостей?
В Dagger области (scope) используются для управления временем жизни и уникальностью создаваемых зависимостей. Основные области:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Dagger области (scope) используются для управления временем жизни и уникальностью создаваемых зависимостей. Основные области:
- @Singleton — гарантирует, что объект будет создан один раз на весь жизненный цикл компонента (например, приложения). Это самый распространённый scope для синглтон-сервисов.
- @ActivityScoped (или аналогичные кастомные scope) — объект живёт в пределах жизненного цикла Activity. Это значит, что при пересоздании Activity создаётся новый экземпляр.
- @FragmentScoped — аналогично для фрагментов.
- @Reusable — Dagger может переиспользовать объект, но не гарантирует единственный экземпляр.
- Без scope — каждый запрос на зависимость создаёт новый объект.
Использование scope помогает контролировать, сколько раз создаётся объект, и управлять памятью и производительностью приложения.