写点什么

利用 Kotlin 协程提升应用性能

用户头像
Changing Lin
关注
发布于: 1 小时前
利用 Kotlin 协程提升应用性能

1.管理长时间运行的任务

  • 协程在常规函数的基础上添加了两项操作,用于处理长时间运行的任务。

  • suspend 用于暂停执行当前协程,并保存所有局部变量。

  • resume 用于让已挂起的协程从挂起处继续执行。

  • Kotlin 使用堆栈帧管理要运行哪个函数以及所有局部变量。-

suspend fun fetchDocs() {                             // Dispatchers.Main    val result = get("https://developer.android.com") // Dispatchers.IO for `get`    show(result)                                      // Dispatchers.Main}
suspend fun get(url: String) = withContext(Dispatchers.IO) { /* ... */ }
复制代码

2.使用协程确保主线程安全

  • Kotlin 协程使用调度程序确定哪些线程用于执行协程。

  • Dispatchers.Main:Android 主线程

  • Dispatchers.IO:适合在主线程之外执行磁盘或网络 I/O

  • Dispatchers.Default:适合在主线程之外执行占用大量 CPU 资源的工作

  • 使用 withContext() 来确保每个函数都是主线程安全的

3.启动协程的两种方式

  • launch 可启动新协程而不将结果返回给调用方。

  • async 会启动一个新的协程,并允许您使用一个名为 await 的挂起函数返回结果。

4.协程概念

  • CoroutineScope

  • Job

  • CoroutineContext


发布于: 1 小时前阅读数: 2
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
利用 Kotlin 协程提升应用性能