作者:大佬銘銘銘銘銘 | 来源:互联网 | 2023-05-26 09:24
想象一下匕首module
有以下两种方法来提供一个物体.
@Provides @Singleton Cache providesSettingsCache( Database db )
{
return new StateCache( db, BuildConfig.VERSION_CODE );
}
@Provides @Singleton Cache providesUserCache( Database db )
{
return new StateCache( db, BuildConfig.VERSION_CODE );
}
在我的示例中StateCache
实现了Cache
和Cache
接口.现在不是两个方法都返回一个实例StateCache
,我希望这两个方法显然都指向同一个实例.怎么能在Dagger得到这个?是否module
保持引用的一个实例StateCache
,并且两个方法都返回?
1> Jake Wharton..:
让Dagger管理StateCache
实例.
@Provides @Singleton StateCache provideStateCache(Database db) {
return new StateCache(db, BuildConfig.VERSION_CODE);
}
@Provides @Singleton Cache provideSettingsCache(StateCache cache) {
return cache;
}
@Provides @Singleton Cache provideSettingsCache(StateCache cache) {
return cache;
}