Почему кинжал использует статический экземпляр фабрики, обеспечивающий зависимость? В этом случае INSTANCE имеет статическое время жизни и даже не требуется, когда зависимость не связана с какой-либо областью действия (в этом случае используется proxyProvidesSomeDependency). Почему даже при использовании с областью действия фабрика зависимости должна пережить зависимость или компонент, обеспечивающий эту зависимость? Я что-то упустил?
public final class FragmentModule_ProvidesSomeDependencyFactory
implements Factory<SomeDependency> {
private static final FragmentModule_ProvidesSomeDependencyFactory INSTANCE =
new FragmentModule_ProvidesSomeDependencyFactory();
@Override
public SomeDependency get() {
return provideInstance();
}
public static SomeDependency provideInstance() {
return proxyProvidesSomeDependency();
}
public static FragmentModule_ProvidesSomeDependencyFactory create() {
return INSTANCE;
}
public static SomeDependency proxyProvidesSomeDependency() {
return Preconditions.checkNotNull(
FragmentModule.providesSomeDependency(),
"Cannot return null from a non-@Nullable @Provides method");
}
}