Ответ
Объекты, помеченные аннотацией @Scope в Dagger, живут столько же, сколько и компонент, к которому привязана эта область видимости. Например:
@Singleton— живет, пока существуетApplicationComponent(обычно весь жизненный цикл приложения).@ActivityScope— живет, пока активна Activity (уничтожается приonDestroy()).@FragmentScope— живет, пока существует Fragment (уничтожается приonDestroy()).
Пример:
@Module
class AppModule {
@Singleton
@Provides
fun provideHeavyDependency(): HeavyDependency = HeavyDependency()
}
Здесь HeavyDependency будет существовать, пока живет ApplicationComponent.