如何不从@Singleton
组件返回单例对象?
例如,我有:
ApplicationComponent.kt
@Singleton
@Component(modules = [ApplicationModule::class])
interface ApplicationComponent() {
fun database(): Database
fun model(): Model
}
Model.kt
class Model @Inject constructor()
我想要的是每次都返回Model
的不同实例,相反返回Database
,它将是一个单例,并且由ApplicationModule.kt
提供
答案 0 :(得分:1)
如果您将Model
提供为
@Singleton
class Model @Inject constructor()
或为
@Provides
@Singleton
fun provideModel() = Model()
它将是一个单例。
如果不使用@Singleton
,@Reusable
或任何其他范围来注释任何提供程序,则将始终创建一个新实例。