android - 当我在 ViewModelComponent 中使用 @Singleton 时,Hilt 如何保留实例
问题描述
我知道当我们在多个 ViewModel 之间共享并且不需要提供对象的不同实例时,使用 @Singleton 提供程序很好。但是我没有找到任何关于删除实例过程如何处理多个 ViewModel 的信息?
可以说,
SharedRepository 由 AViewModel 提供 SharedRepository 由 BViewModel 提供
在这种情况下,dagger 是否会在两个 ViewModel 都被销毁之前击中实例?
@Module
@InstallIn(ViewModelComponent::class)
object DataModule {
@Singleton
@Provides
fun provideAddressRepository(addressRemoteDataSource: AddressRemoteDataSource, @IoDispatcher dispatcher: CoroutineDispatcher): AddressRepository {
return AddressRepositoryImpl(addressRemoteDataSource, dispatcher)
}
}
解决方案
推荐阅读
- android - 反编译 64 位 apk 并使用 32 位支持重新编译
- html - 如何在 SVG 中设置渐变动画?
- python - 让机器人检测不和谐成员丰富的存在
- java - 如何在 Spinner 视图中设置捆绑包值?
- jquery - 无法将我的 jQuery 转换为在 MVC Core 中获取 AJAX 请求
- c++ - sched_setaffinity() 对新线程的影响
- javascript - 具有 react-hook-form 逻辑的可重用输入文件
- ios - 构建失败:如何解决 React Native iOS 虚拟设备应用构建失败、CompileSwift 和 CompileC 失败?
- node.js - 在 mac 中更新 Angular CLI 时面临问题
- gitlab-ci - 部署时 CD gitlab 作业的问题