协程:lifecycleScope 和 viewModelScope 有什么区别?

问题描述 投票:0回答:1

几乎是标题 - 如果存在选择,我不确定什么时候应该使用一个而不是另一个。此外,使用协程通过 retrofit2 API 执行请求时有哪些预防措施/最佳实践?

android asynchronous viewmodel kotlin-coroutines lifecycle
1个回答
0
投票

lifecycleScope 和 viewModelScope 有什么区别?

ViewModelScope 持续到 ViewModel 被清除。

LifecycleCoroutineScope 持续到生命周期(即片段或活动)被销毁。

如果存在选择,我不确定什么时候应该使用一个而不是另一个

你的工作是什么?它与 ViewModel 的生命周期或视图的生命周期相关吗? 例如,网络请求将进入 ViewModel 以保持请求继续,即使 Activity 已终止。任何需要访问视图层次结构的协程(在视图被销毁后将不再有效)都将进入生命周期范围。

另外,使用协程执行retrofit2 API请求时有哪些注意事项/最佳实践?

这是一个与您的主要问题无关的模糊且开放式的问题。

© www.soinside.com 2019 - 2024. All rights reserved.