推荐理由:
-
自动取消,不会造成
内存泄漏
,如果是CoroutineScope
,就需要在onCleared()
方法中手动取消了,否则可能会造成内存泄漏。 -
配合
ViewModel
,能减少样板代码,提高效率。
后面会重点介绍ViewModelScope是怎么做到不会
内存泄漏
的。
引入
- 协程:
implementation ‘org.j
etbrains.kotlinx:kotlinx-coroutines-core:1.5.0’
implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0’
- viewmodel-ktx:
implementation(“androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1”)
ViewModelScope虽然是协程,但属于
androidx.lifecycle
包中ViewModel的扩展属性
。