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