单例viewmodel中的kotlin-android-viewModelScope
我的应用程序使用MVVM模式,并且希望将viewmodelscope用于协同程序,现在我面临一些与viewmodelscope相关的问题 在应用程序中,有两个片段,每个片段都有一个viewmodel。从片段一导航到片段二,在第二个片段,用户将点击API。如果响应为false,用户将再次返回到第一个片段,并需要修复其输入。然后用户可以再次导航到片段2并再次点击API 问题是在第二次尝试时,应用程序无法命中API,因为在第一次尝试时,viewmodel中的协同路由已在ondestroy状态下取消(它是自动取消的,因为这是viewmodelscope本身CMIIW的行为)。由于我将所有viewmodel设置为单例,所以我猜在第二次尝试时,取消的viewmodelscope会再次调用,并且无法运行协同路由(因为在第一次尝试中它已经取消) 我的问题是,如果我继续对viewmodel使用singleton,是否有其他方法在第二次尝试中重置viewmodelscope,以便它可以再次运行以命中API单例viewmodel中的kotlin-android-viewModelScope,android,kotlin,mvvm,viewmodel,dagger-2,Android,Kotlin,Mvvm,Viewmodel,Dagger 2,我的应用程序使用MVVM模式,并且希望将viewmodelscope用于协同程序,现在我面临一些与viewmodelscope相关的问题 在应用程序中,有两个片段,每个片段都有一个viewmodel。从片段一导航到片段二,在第二个片段,用户将点击API。如果响应为false,用户将再次返回到第一个片段,并需要修复其输入。然后用户可以再次导航到片段2并再次点击API 问题是在第二次尝试时,应用程序无法命中API,因为在第一次尝试时,viewmodel中的协同路由已在ondestroy状态下取消(它
ViewModels不是全局单例,每次调用工厂创建ViewModel时,您都需要创建一个新的ViewModel实例。
create()
a ViewModel。我计划在我的应用程序中使用具有许多片段的单个活动。如果我使viewmodel遵循活动生命周期,viewmodel是否将保持活动状态,直到用户销毁应用程序?