安卓 : Does viewmodelscope cancel all jobs on detach from window of fragment

标签 android kotlin viewmodel coroutinescope

我想知道调用 fragment 的onDetach时是否调用了viewmodel的oncleared。这是为了确保所有协程都将被取消。在重构为 kotlin 和协程之前,我得到了一个 IllegalStateException: Fragment not attached to a context。现在我正在使用 viemodelscope 来完成这些任务。

最佳答案

如果必须对任何异步或 API 调用的结果执行任何 Context 或 UI 相关逻辑,即使调用 onDetach 也会导致此问题。您应该进行安全调用(例如空检查)以消除该异常。

关于安卓 : Does viewmodelscope cancel all jobs on detach from window of fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57057131/

相关文章:

java - 即时优化 Android Studio/IntelliJ 中所有项目的导入

kotlin - 如何在 tornadoFx 中注入(inject) ItemViewModel

mvvm - 为什么在观察LiveData时未调用onChanged()

android-jetpack-compose - 为什么有些人仍然在 jetpack compose 中使用 viewmodel?

Android - 服务和 Activity 交互

android - Android 上的日语 TTS

android - GCM ACCOUNT_MISSING 错误

android - 未观察到对设置 LiveData 的多次调用

reflection - 在 Kotlin 中对具有默认参数的函数使用 callBy 时出错

c# - 如何为 ViewModel 中的列表添加验证