我有一个问题,使用不带@Module
功能的@Singleton
对象和带@Module
功能的@Singleton
类之间是否有显着差异。
如此:
@Module
object ApiModule {
@Provides
fun test()
}
@Module
class ApiModule {
@Singleton
@Provides
fun test()
}
我必须在@Singleton
中标记object
吗?
是的,如果没有@Singlton,则每次您需要注入任何测试返回值时,都会调用一次该函数。如果您有@Singleton,则返回值将由dagger缓存,并在每次需要时重复使用。