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

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

最佳答案

看到一些代码会很有帮助,但是要考虑的一件事是-您是否将Koin作为单例注入(inject)ViewModel?
single { MyViewModel() }
如果是这样,这就是您的问题,因为Koin正在创建您的 View 模型的单个实例,并在下次加载 Activity 时使用它。更改您的Koin模块以使用viewModel注入(inject),如下所示:
viewModel { MyViewModel() }

关于android - ViewModelScope是否被永久取消?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56569063/

10-12 05:52