前言
尽管协程并不是一个新的话题,但他是一个很吸引人的话题,协程在这些年里被重新发现了很多次,特别是当需要某种形式的轻量级线程和/或寻找“回调地狱”的解决方案时。
Kotlin协程的概念
协程是Coroutine的中文简称,co表示协同、协作,routine表示程序。协程可以理解为多个互相协作的程序。协程是轻量级的线程,它的轻量体现在启动和切换,协程的启动不需要申请额外的堆栈空间;协程的切换发生在用户态,而非内核态,避免了复杂的系统调用。其实也可以讲,Kotlin 的协程就是一个封装在线程上面的线程框架。
特点
- 轻量:您可以在单个线程上运行多个协程,因为协程支持挂起,不会使正在运行协程的线程阻塞。挂起比阻塞节省内存,且支持多个并行操作。
- 内存泄漏更少:使用结构化并发机制在一个作用域内执行多项操作。
- 内置取消支持:取消操作会自动在运行中的整个协程层次结构内传播。
- Jetpack 集成:许多 Jetpack 库都包含提供全面协程支持的扩展。某些库还提供自己的协程作用域,可供您用于结构化并发。
Kotlin协程非常强大和灵活,在Kotlin协程中,编译器只实现了一个suspend关键字,其他的事情都是由协程库处理的,但在结构上就不是那么固定。所以对于初学者来说,理解协程就不是一件容易的事。
如何入门Kotlin协程
如果你想学习Kotlin协程,但网上的文章要不就是讲的太浅,两三句话就带过去,看完就剩索然无味,要不就是讲的太深,从头到尾都是晕晕乎乎的,还有一种就是内容适中,但是一到开发就翻车,结果和想象不一样,所以为了大家能够系统的学习Kotlin协程在这分享一份谷歌技术团队整理的《史上最详Android版Kotlin协程入门进阶实战指南》,内容逻辑清晰,知识点配上代码讲解能让你更好的理解以及掌握,还有实战训练强化你对于Kotlin协程的使用。
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
第一章 Kotlin协程的基础介绍
- 1.1协程是什么
- 1.2什么是Job 、Deferred 、协程作用域
- 1.3 Kotlin协程的基础用法
第二章 kotlin协程的关键知识点初步讲解
- 2.1协程调度器
- 2.2 协程上下文
- 2.3 协程启动模式
- 2.4 协程作用域
- 2.5 挂起函数
第三章 kotlin协程的异常处理
- 3.1协程异常的产生流程
- 3.2 协程的异常处理
第四章 kotlin协程在Android中的基础应用
- 4.1 Android使用kotlin协程
- 4.2 在Activity与Framgent中使用协程
- 4.3 ViewModel中使用协程
- 4.4 其他环境下使用协程
第五章 kotlin协程的网络请求封装
- 5.1协程的常用环境
- 5.2 协程在网络请求下的封装及使用
- 5.3 高阶函数方式
- 5.4 多状态函数返回值方式
- 5.5 直接返回值的方式
第六章 深入kotlin协程原理(一)
- 6.1 suspend 的花花肠子
- 6.2 藏在身后的- Continuation
- 6.3 村里的希望- SuspendLambda
第七章 深入kotlin协程原理(二)
- 7.1 协程的那些小秘密
- 7.2 协程的创建过程
- 7.3 协程的挂起与恢复
- 7.4 协程的执行与状态机
第八章 Kotlin Jetpack 实战
- 8.1 从一个膜拜大神的 Demo 开始
- 8.2 Kotlin 写 Gradle 脚本是一种什么体验?
- 8.3 Kotlin 编程的三重境界
- 8.4 Kotlin 高阶函数
- 8.5 Kotlin 泛型
- 8.6 Kotlin 扩展
- 8.7 Kotlin 委托
- 8.8 协程“不为人知”的调试技巧
- 8.9 图解协程原理
第九章 Kotlin + 协程 + Retrofit + MVVM优雅的实现网络请求
- 9.1项目配置
- 9.2 实现思路
- 9.3 协程实现
- 9.4 协程 + ViewModel + LiveData实现
- 9.5 后续优化
- 9.6 异常处理
- 9.7 更新Retrofit 2.6.0
结尾
知识的学习过程讲究一个循序渐进,不能操之过急,静下心来学习,是会有收获的。希望这份资料能帮大家掌握Kotlin协程。