1.协程调度器CoroutlineDispatcher:指定协程在哪个线程上运行 2.协程上下文CoroutlineContext:包含一个线程内部所需的所有上下文信息 3.协程启动模式CoroutlineStart:指定了协程的启动方式:如default或者lazy等 4.协程作用域CoroutlineScope:指定了协程的作用域 5.挂起函数以及suspend关键字的使用:挂起函数会将协程挂起,但...
协程中有一个suspend关键字,它和刚刚提到的suspend概念要区分一下,刚刚提到的suspend(挂起)是一个概念,而suspend关键字可以修饰一个函数,但是仅这个关键字没有让协程挂起的作用,一般suspend关键字是提醒调用者该函数需要直接或间接地在协程下面运行,起到一个标记与提醒的作用。 suspend关键字的标记与提醒有什么作用?在...
可以看到正在运行的协程被cancel后,会报异常JobCancellationException,可看到println("job 1")没有执行到 finally中的代码有正常执行,有打印日志(job: I'm running finally),可使用withContext(NonCancellable)创建协程做一些清理工作。 / 协程作用域 / 父子协程 ...
协程作用域是协程的运行作用范围 来看下下面的例子: var job = GloalScope.launch { val test = 1; println(this.isActive) } println("$test") 这个例子编译会报Unresolved reference: test,说明test是在另外一个作用域中。和我们使用{}括起来的作用域一样 协程作用域分类?: 顶级作用域,协同作用域和主从作...
kotlin协程的关键知识点 上一本章节《Android kotlin协程入门实战(一):kotlin协程的基础用法解读》末尾我们提到,将在本章节中对以下知识点做初步讲解,包含上文提到的launch和async函数中的3个参数作用。清单如下: 协程调度器CoroutineDispatcher 协程下上文CoroutineContext作用 ...
协程作用域CoroutineScope 可以追踪所有协程,也可以取消协程 GlobalScope:生命周期是Process级别,即使Activity或Fragment已经被销毁,协程仍然运行 MainScope:在activity中使用,可以在onDestroy中取消协程 ViewModelScope:只能在ViewModel中使用,绑定ViewModel生命周期 lifecycleScope:只能在Activity、Fragment中使用,会绑定Activity、Fra...
2.1 协程调度器 2.2 协程上下文 2.3 协程启动模式 2.4 协程作用域 2.5 挂起函数 在这里插入图片描述 第三章 kotlin协程的异常处理 在这里插入图片描述 第四章 kotlin协程在Android中的基础应用 4.1 Android使用kotlin协程 4.2 在Activity与Framgent中使用协程 ...
协程异步就是将耗时的函数标记为suspend,并在协程中调用!不需要开启新线程,不会阻塞UI。 先看kotlin中协程的简单创建,后面我们再举个例子说明上面的总结。创建前要先了解几个概念 一、作用域 协程是通过作用域来创建的,这里有几个常见的作用域,分别是
kotlin协程的关键知识点 上一本章节《Android kotlin协程入门实战(一):kotlin协程的基础用法解读》末尾我们提到,将在本章节中对以下知识点做初步讲解,包含上文提到的launch和async函数中的3个参数作用。清单如下: 协程调度器CoroutineDispatcher 协程下上文CoroutineContext作用 ...
一、协程概念 协程Coroutine是 Kotlin 语言 中新出现的概念 , 在 Java 语言中没有 协程 是 基于 线程 的 , 是 轻量级 线程 ; 二、协程作用 协程主要作用如下 : 处理耗时任务 :耗时任务 通常需要 阻塞主线程 , 线程量级太重 , 耗时任务 推荐在协程中执行 ; ...