Мне нужно создать один экземпляр, используя кинжал 2, используя настроенный @Component.Builder
, который имеет @BindInstance
для каждой службы, которую я использую.
У меня вопрос: есть ли способ использовать аннотацию @scope
в сервисах, как мы используем @singlton
на уровнях модулей и компонентов?
Вот пример @component.Builder
, который я использую для введения некоторых из моих услуг
@Component.Builder
interface Builder {
@BindsInstance
Builder sharedPreferenceService(SharedPrefService sharedPreferences)
@BindsInstance
Builder applicationService(Application application);
@BindsInstance
Builder schedulersService(SchedulersService schedulersService);
}
А вот как я предоставляю их в классе приложения
DaggerPresenterEnvironmentComponent.builder()
.sharedPreferenceService(sharedPrefService)
.applicationService(this)
.schedulersService(schedulersService)
.build());
Я проследил созданные экземпляры sharedPreferenceService and schedulerServices
Я обнаружил, что существует более одного экземпляра.