匕首2单身不起作用

时间:2016-12-13 09:52:55

标签: android dagger-2

我们正在创建一个匕首2依赖图

SessionComponent(会话范围)--dependson ---> Appcomponent(Singleton范围)---依赖---> UserMangerComponent(unscoped ...假设是单例)

但是,当我注入userManager(UserManagerComponent提供的依赖项)时,它不会被维护为单例。每次注入都会创建一个新的UserManager。请帮忙......

我无法将单例范围设置为依赖项。

1 个答案:

答案 0 :(得分:4)

您提出的结构与Dagger管理范围的方式不兼容。应用程序中只有一个组件应该是@Singleton,因为组件中未通过组件接口公开的每个绑定可能是@Singleton,但完全封装在组件实现中。因此,每个组件都将拥有自己的实例,并且您最终会得到2个实例而不是一个实例。

将两个组件合并为一个@Singleton组件,为用户管理创建新范围,或者手动为用户管理器实施实例管理。