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;
}
}