我正在尝试在最新的Android应用中使用MVVM。我也在使用协程。我有ViewModel,使用koin注入到Activity中。为了在我的ViewModel中运行协程,我正在使用ViewModelScope。然后在Activity完成之后,清除ViewModel,然后我将再次运行此活动-从开始就取消了viewModelScope。
这很奇怪。由于viewModelScope应该...以某种方式重置?还是我的viewModelScope无法正确关闭?
答案 0 :(得分:1)
看一些代码会很有帮助,但是要考虑的一件事是-是否将Koin作为单例注入ViewModel?
single { MyViewModel() }
如果是这样,这就是您的问题,因为Koin正在创建您的视图模型的单个实例,并在下次加载活动时使用它。像下面这样更改您的Koin模块以使用viewModel注入:
viewModel { MyViewModel() }