Android协程学习
一、引入:
build.gradle添加配置
kotlin{
? ? experimental {
? ? ? ? coroutines 'enable'
? ? }
?// Coroutines
? ? implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
? ? implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
二、常用接口
1.GlobalScope.launch{}
啟動協程
2.runBlocking{}
阻塞當前協程和線程
3.corountineScope{}
阻塞當前協程,不阻塞線程
4.supervisorScope 捕獲協程內部的異常可拋出
coroutineScope 和 supervisorScope 將會等待所有的子協程都完成。
5.delay(1000) 延遲當前協程
6.repeat(n){} 重復多次調用,簡單函數
7.GlobalScope.async{} 啟動異步協程,有返回值 Deffered<>,通過await()獲取
8.自創一個協程父類,方便取消:
val job = Job()
val scope = CoroutineScope(job)
scope.launch{//do something }
job.cancel()
9.withTimeout
定義超時,會拋出超時異常,會中斷了當前協程的運行。除非try...catch
10. suspend fun 可在launch中調用的函數
11. withContext(Dispatchers.IO){} 可以切換協程線程
Android的協程(Coroutines)基礎概念
https://www.jianshu.com/p/ba2bc82ac457
總結
以上是生活随笔為你收集整理的Android协程学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Android Studio开发Jav
- 下一篇: Android Databinding学