本文從頭至尾,就兩個字:簡單。java
很是簡單,在kotlin的android項目中,添加兩個依賴庫,即可以享受協程了。android
以下commit:github.com/vectorzeng/…git
兩個lib的源碼倉庫分別爲:github
coroutine 實現線程切換,更是極爲簡單。spa
以下代碼:github.com/vectorzeng/…線程
override fun onCreate(savedInstanceState: Bundle?) {
//上下文切換到IO主線程
GlobalScope.launch(Dispatchers.IO) {
Log.i(TG, "Dispatchers.IO isMainThread ${isMain()}")//輸出false
//上下文切換到主線程
GlobalScope.launch(Dispatchers.Main){
Log.i(TG, "Dispatchers.Main isMainThread ${isMain()}")//輸出true
}
}
}
複製代碼
日誌輸出結果:日誌
簡單嗎?code
比起java的 handler、Thread、rxjava,是否是簡單的讓人以爲他有點美~
嗯,真香~
關鍵詞: android ; kotlin ; coroutines ; hello coroutines ; coroutine switch to thread ; coroutine to main thread ; coroutine switch io thread ; kotlin 協程入門 ; android 切換線程 ; kotlin 協程線程切換 ;