利用 Kotlin 协程提升应用性能
1.管理长时间运行的任务
协程在常规函数的基础上添加了两项操作,用于处理长时间运行的任务。
suspend 用于暂停执行当前协程,并保存所有局部变量。
resume 用于让已挂起的协程从挂起处继续执行。
Kotlin 使用堆栈帧管理要运行哪个函数以及所有局部变量。-
复制代码
2.使用协程确保主线程安全
Kotlin 协程使用调度程序确定哪些线程用于执行协程。
Dispatchers.Main:Android 主线程
Dispatchers.IO:适合在主线程之外执行磁盘或网络 I/O
Dispatchers.Default:适合在主线程之外执行占用大量 CPU 资源的工作
使用 withContext() 来确保每个函数都是主线程安全的
3.启动协程的两种方式
launch 可启动新协程而不将结果返回给调用方。
async 会启动一个新的协程,并允许您使用一个名为 await 的挂起函数返回结果。
4.协程概念
CoroutineScope
Job
CoroutineContext
版权声明: 本文为 InfoQ 作者【Changing Lin】的原创文章。
原文链接:【http://xie.infoq.cn/article/eb5af20b158d97eca34b11abc】。文章转载请联系作者。
评论