美文网首页
安卓协程那些事儿

安卓协程那些事儿

作者: itBox | 来源:发表于2022-06-28 14:51 被阅读0次

    本系列文章都使用 Kotlin 作为描述语言

    协程是什么?协程用来做什么?怎么用?
    作为安卓开发需要知道的协程知识

    协程是什么?

    首先,回答一个问题,函数是什么?
    函数是一串计算机指令,包含输入参数和输出。
    例如:

    fun findFriend(): Friend? {
      throw NotForProgrammerException()
      return null
    }
    

    协程记录(或者说描述)了这一串计算机指令执行所需要的环境,包括内存变量等。

    为什么协程对于安卓开发很重要?

    安卓的UI显示,是受一个主线程控制的,若要在程序中请求类似要加载网络资源,这种耗时操作,会让主线程等待,如:

    initViews()
    updateUI()
    
    doNetReq()
    
    updateUI()
    println("Hi from the main thread")
    updateUI()
    

    若使用协程就可避免主线程的等待,如:

    initViews()
    updateUI()
    
    Thread{
      doNetReq()
    }.start()
    
    
    updateUI()
    println("Hi from the main thread")
    updateUI()
    

    多线程用来做什么

    故多线程用来处理:网络请求(Network Calls),数据库,复杂计算(Complex Calculations),其他操作

    协程与多线程的区别

    协程是运行在线程内的
    协程是可中止的
    协程易于切换上下文(Context)

    关键词

    协程(Coroutines),线程(Threads)

    相关文章

      网友评论

          本文标题:安卓协程那些事儿

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