目錄
- Android上的Kotlin協程介紹
- 基本概念與簡單使用示例
- 協程的高級用法
- 結構化并發
- 線程調度器(Dispatchers)
- 自定義調度器
- 并發:同步 vs 異步
- 異步并發(async 并行執行)
- 同步順序執行
- 協程取消與超時
- 取消機制
- 超時控制
- 異步數據流 Flow
- 協程間通信
- 使用 Channel
- 使用 StateFlow / SharedFlow
- 常見缺陷與注意事項
- 實踐建議
- 參考資料
協程
Android上的Kotlin協程介紹
協程是并發編程的一種設計模式,它允許你在單個線程中執行多個任務。在Android開發中,使用Kotlin的協程可以簡化異步操作的編寫和管理。
基本概念與簡單使用示例
- 掛起函數:一個特殊的函數,可以在其內部暫停和恢復執行。這是通過
suspend
關鍵字實現的,掛起的函數只能在協程的作用域或同樣掛起的方法中執行。
suspend fun fetchData(): String {delay(1000)return "Data"
}GlobalScope.launch {val data = fetchData()Log.d("Coroutine", "Fetched Data: $data")
}
- 協程作用域:用于管理協程生命周期,確保作用域取消時,內部協程會一并取消。
val job