当前位置:   article > 正文

LifecycleScope_lifecyclescope.launch

lifecyclescope.launch

LifecycleScope,顾名思义,具有生命周期协程
它是LifecycleOwner生命周期所有者的扩展属性,与LifecycleOwner生命周期绑定

并会在LifecycleOwner生命周期destroyed的时候取消掉。自动取消,不会造成内存泄漏,可以替代MainScope。

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

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

  1. lifecycleScope.launch(Dispatchers.IO){
  2. // do
  3. }
  4. lifecycleScope.launch {
  5. whenResumed {
  6. // do
  7. }
  8. }
  9. lifecycleScope.launchWhenResumed {
  10. // do
  11. }

whenResumed和launchWhenResumed执行时机一样,区别在于:

whenResumed 可以有返回结果
launchWhenResumed 返回的是Job对象
共有三个对应生命周期的扩展函数:

whenCreated
whenStarted
whenResumed

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

闽ICP备14008679号