Kotlin 如何仅拥有Dagger@子组件的一个实例?
对于其他依赖项,我可以使用@scope,比如@Singleton,使其只有一个实例 例如:Kotlin 如何仅拥有Dagger@子组件的一个实例?,kotlin,dagger,Kotlin,Dagger,对于其他依赖项,我可以使用@scope,比如@Singleton,使其只有一个实例 例如: @Component @Singleton interface ApplicationComponent { fun getMySingleInstanceDependency(): MySingleInstanceDependency } @Singleton class MySingleInstanceDependency @Inject constructor() 如果我将@subco
@Component
@Singleton
interface ApplicationComponent {
fun getMySingleInstanceDependency(): MySingleInstanceDependency
}
@Singleton
class MySingleInstanceDependency @Inject constructor()
如果我将@subcomponent添加到主组件中,那么每当我需要一个实例时,它都会返回一个新实例。我能想到的唯一一件事是使用@Component.Builder在内部传递子组件的实例,这样它每次都使用相同的实例,但这听起来并不正确。有更好的方法吗?你们在谈论不同的问题。对象实例的生命周期应该与
子组件
无关。让我在这里解释你的问题
provide
注释创建的。每次我们在不同的Dagger模块中请求此项时,都会调用它除非此特定依赖项被注释为
singleton组件
,其中可能包括子组件
。它们的生命周期由管理者处理