Dagger-android поддерживает определение области действия через ContributesAndroidInjector. Однако как насчет случаев, когда у меня есть вложенные области действия (дочерняя область действия в пределах родительской области действия). Разве компоновщики дочерних подкомпонентов активности все еще не будут кэшироваться в приложении dispatchingActivityInjector приложения даже после жизни дочернего действия?
@ActivityScope
@ContributesAndroidInjector(modules = { /* modules to install into the subcomponent */ })
abstract YourActivity contributeYourActivityInjector();
public class YourApplication extends Application implements HasActivityInjector {
@Inject DispatchingAndroidInjector<Activity> dispatchingActivityInjector;
@Override
public void onCreate() {
super.onCreate();
DaggerYourApplicationComponent.create()
.inject(this);
}
@Override
public AndroidInjector<Activity> activityInjector() {
return dispatchingActivityInjector;
}
}