Local CoroutineScope().launch { },创建的协程作用域在内存中存活多久?

Sea*_*ici 6 android kotlin kotlin-coroutines coroutinescope

我无法理解内存管理如何在 Android 上与本地创建的协程一起工作。这是一些代码:

 init {
    CoroutineScope(Dispatchers.Default).launch {
        val result = workerA.runSuspended(paramA)
        liveDataA.postValue(result)
    }
}
Run Code Online (Sandbox Code Playgroud)

对于短暂的挂起函数调用,我想启动一次协程,然后我不再需要作用域。我知道这样写时不能取消范围。但我的主要问题是:

  1. 工作完成后会发生什么?coroutineScope 是否被垃圾回收?
  2. 范围是否保证在作业完成之前保持活动状态?
  3. 如果 runSuspished 一直卡住会发生什么?如果父对象被垃圾回收,会不会出现内存泄漏?