Kotlin Vocabulary | 揭秘协程中的 suspend 修饰符
Kotlin 协程把 suspend 修饰符 引入到了我们 Android 开发者的日常开发中。您是否好奇它的底层工作原理呢?编译器是如何转换我们的代码,使其能够挂起和恢复协程操作的呢? 了解这些将会帮您更好地理解挂起函数 (suspend function) 为什么只会在所有工作完成后才会返回,以及如何在不阻塞线程的情况下挂起代码。 本文概要: Kotlin 编译器将会为每个挂起函数创建一个状态机,这个状态机将为我们管理协程的操作! 📚 如果您是 Android 平台上协程的初学者,请查阅下面这些协程 codelab: 在 Android 应用中使用协程 协程的进阶使用: Kotlin Flow 和 Live Data 协程 101 协程简化了 Android 平台的异步操作。正如官方文档 《利用 Kotlin 协程提升应用性能》 所介绍的,我们可以使用协程管理那些以往可能阻塞主线程或者让应用卡死的异步任务。 协程也可以帮我们用命令式代码替换那些基于回调的 API。例如,下面这段使用了回调的异步代码: // 简化的只考虑了基础功能的代码 fun loginUser(userId: String, password: String, userResult: Callback<User>) { // 异步回调 userRemoteDataSource.logUserIn { user