我无法理解告诉组件他的模块是什么和告诉组件它的组件依赖项是什么之间的区别。
例如:
@Module public class ModuleA {
@Provides DependencyA providesDependencyA() {
return new DependencyA();
}
}
@Module public class ModuleB {
@Provides DependencyB providesDependencyB() {
return new DependencyB();
}
}
@Component (modules = {ModuleA.class})
public interface ComponentA {
DependencyA getDependencyA();
}
Run Code Online (Sandbox Code Playgroud)
这有什么区别:
@Component (modules = {ModuleA.class, ModuleB.class})
public interface ComponentB {
DependencyB getDependencyB();
}
Run Code Online (Sandbox Code Playgroud)
然后:
@Component (dependencies = {ComponentA.class}, modules = {ModuleB.class})
public interface ComponentB {
DependencyB getDependencyB();
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Retrofit2。我可以创建多个OkHttp3客户端并与其他实例共享第一个实例的连接池吗?这是线程安全和好的做法吗?