【发布时间】:2021-07-13 22:11:17
【问题描述】:
在片段中,当通过协程执行保存操作时,应该使用哪种类型的范围主要考虑旋转设备不应该停止协程?
我应该将协程 Job 引用保存在哪里,以允许用户在仍在执行时随时取消它?即使在旋转之后,如果需要?如果我将作业放在ViewModel 中以便在设备rotation 之后恢复它,是否会泄漏片段的lifecycleScope?
我知道一个片段有一个范围,例如:
fragment.lifecycleScope.launch(context = Dispatchers.IO)
但我不确定这是否正确,因为我认为旋转设备可能会取消它。
另外,我不确定下一个是否正确:
CoroutineScope(Dispatchers.IO)
【问题讨论】:
标签: android rotation fragment kotlin-coroutines android-jetpack