美文网首页
Android Jetpack 中使用 kotlin 协程

Android Jetpack 中使用 kotlin 协程

作者: CarlosLynn | 来源:发表于2021-02-23 14:50 被阅读0次

    需要分别添加以下的依赖包

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5'
    implementation  'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
    

    在ViewModel中使用ViewModelScope

    为应用程序中的每个ViewModel定义ViewModelScope。如果清除ViewModel,则在此作用域中启动的任何协同程序都将自动取消。

    当只有在ViewModel处于活动状态时才需要完成工作时,协程在这里非常有用。

    例如,如果要为布局计算某些数据,则应将工作范围设置为ViewModel,以便在清除ViewModel时,自动取消工作以避免消耗资源。

    可以通过ViewModel的viewModelScope属性访问ViewModel的协同作用域,如下例所示:

    class MyViewModel :ViewModel() {
        init {
            viewModelScope.launch {
                // Coroutine that will be canceled when the ViewModel is cleared.
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Android Jetpack 中使用 kotlin 协程

          本文链接:https://www.haomeiwen.com/subject/aterfltx.html