报告在依赖于 kotlinx.coroutines 库的代码中的 kotlin.coroutine.coroutineContext 属性的用法。
当代码中同时存在 kotlin.coroutine.coroutineContext 和 kotlinx.coroutines.CoroutineScope.coroutineContext 时,可能导致混淆和潜在 bug。
kotlinx.coroutines 库提供了 currentCoroutineContext() 函数作为更清晰的替代方案,即使没有明显的冲突,也应优先选择。
如需了解详情,请参阅 kotlin.coroutine.coroutineContext 和 kotlinx.coroutines.currentCoroutineContext 的文档。
示例:
suspend fun getCurrentJob(): Job? {
return coroutineContext[Job]
}
在应用快速修复后:
suspend fun getCurrentJob(): Job? {
return currentCoroutineContext()[Job]
}