当前位置:   article > 正文

关于协程,你知道LifecycleScope吗,超详细解释给你听,真的太香了_lifecyclescope 如何使用

lifecyclescope 如何使用
  • 协程:

implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0’

implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0’

  • Lifecycle:

implementation(“androidx.lifecycle:lifecycle-runtime-ktx:2.3.1”)

LifecycleScope虽然是协程,但属于Lifecycle中的扩展属性

示例:

lifecycleScope默认主线程,可以通过withContext来指定线程。

lifecycleScope.launch {

// do

withContext(Dispatchers.IO) {

// do

}

}

// or

lifecycleScope.launch(Dispatchers.IO){

// do

}

// or

lifecycleScope.launch {

whenResumed {

// do

}

}

// or

lifecycleScope.launchWhenResumed {

// do

}

whenResumedlaunchWhenResumed执行时机一样,区别在于:

  • whenResumed 可以有返回结果

  • launchWhenResumed 返回的是Job对象

共有三个对应生命周期的扩展函数:

  • whenCreated

  • whenStarted

  • whenResumed

使用非常简单,关键在于它是怎么保证不会内存泄露的,又是怎么知道在某个生命周期的时候去执行协程的?</

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/495698
推荐阅读
相关标签
  

闽ICP备14008679号