- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到一些用户在使用灵活的应用内更新时遇到问题,JobCancellationException: Job was cancelled
被抛出并带有难以理解的堆栈跟踪:
at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
at java.lang.Thread.getStackTrace(Thread.java:1538)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
at java.lang.Thread.dispatchUncaughtException(Thread.java:1955)
不幸的是,我不知道是代码的哪一部分导致了这个问题。这是唯一的协程相关代码,留在MyViewModel
中:
init {
viewModelScope.launch {
try {
appUpdateManager.requestUpdateFlow().collect { appUpdateResult ->
// Do something with result.
}
} catch (e: InstallException) {
// Do something with an error.
}
}
}
fun requestUpdate(fragment: Fragment) {
viewModelScope.launch {
try {
val appUpdateInfo = appUpdateManager.requestAppUpdateInfo()
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.FLEXIBLE,
fragment,
REQUEST_CODE
)
} catch (e: IntentSender.SendIntentException) {
}
}
}
我怀疑 requestUpdateFlow()
中的代码正在调用 offer
而协程作业已经取消并且我看不到确切的堆栈跟踪,因为 Play Core 库是混淆了吗?
我正在使用以下版本的库:
"com.google.android.play:core:1.7.2"
"com.google.android.play:core-ktx:1.7.0"
最佳答案
JobCancellationException: Job was cancelled
几乎在协程范围内的作业被取消的情况下抛出。
示例:用户转到屏幕 a,在其中调用 api 以获取某些内容。但是用户在 api 未完成时按返回关闭此屏幕。因此,当收到响应时,作业在 -> 异常之前取消。
要更好地处理 JobCancellationException
,您可以使用 suspendCancellableCoroutine
。
关于android - 应用内更新的 JobCancellationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65972435/
我注意到一些用户在使用灵活的应用内更新时遇到问题,JobCancellationException: Job was cancelled 被抛出并带有难以理解的堆栈跟踪: at dalvik.syst
最近,我将 Kotlin Coroutines 从实验版升级到 1.1.1,并遇到了新版本中 job.cancel() 工作方式不同的问题。 这是带有实验协程的代码: fun > T.runAsync
由于我们使用的是协程(使用了 1.3.5),我们有很多崩溃: JobCancellationException - StandaloneCoroutine 被取消 . 我阅读了很多关于这些问题的线程,
由于 Kotlin JobCancellationException,我遇到了崩溃。 以下是有关崩溃的详细信息: kotlinx.coroutines.JobCancellationException
安卓工作室 3.6 在一个屏幕上,我通过协程进行轮询,如下所示: fun initPoll() = viewModelScope.launch(Dispatchers.M
我尝试编写一个使用 ktor 的 kotlin 多平台库(android 和 ios)。因此,我在使用 kotlins 协程时遇到了一些问题: When writing tests I always
我正在实现 kotlin coroutines在 MVVM架构以取代我的RxJava依赖。 我的问题 : 注销后(这个细节很重要,因为我在重新开始时没有异常),我有一个 JobCancellation
我是一名优秀的程序员,十分优秀!