ViewModelScope是否被永久取消?

时间:2019-06-12 19:22:07

标签: android mvvm

我正在尝试在最新的Android应用中使用MVVM。我也在使用协程。我有ViewModel,使用koin注入到Activity中。为了在我的ViewModel中运行协程,我正在使用ViewModelScope。然后在Activity完成之后,清除ViewModel,然后我将再次运行此活动-从开始就取消了viewModelScope。

这很奇怪。由于viewModelScope应该...以某种方式重置?还是我的viewModelScope无法正确关闭?

1 个答案:

答案 0 :(得分:1)

看一些代码会很有帮助,但是要考虑的一件事是-是否将Koin作为单例注入ViewModel?

single { MyViewModel() }

如果是这样,这就是您的问题,因为Koin正在创建您的视图模型的单个实例,并在下次加载活动时使用它。像下面这样更改您的Koin模块以使用viewModel注入:

viewModel { MyViewModel() }