kotlin协程
Posted 安卓开发-顺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin协程相关的知识,希望对你有一定的参考价值。
一、子线程与UI线程切换典型场景示例
示例一
GlobalScope.launch(Dispatchers.Main) toast("开始请求,请等待...") withContext(Dispatchers.IO) log("向后台请求数据") toast("请求完毕,更新UI...")
示例二
CoroutineScope(Dispatchers.Main).launch
//这里是主线程 可以 执行弹出提示框等ui操作 log("第一步:弹出提示框") val progressDialog: ProgressDialog = ProgressDialog(this@LoginActivity) progressDialog.setTitle("请等待...") progressDialog.show() val step2 = withContext(Dispatchers.IO) log("第二步:执行联网请求等耗时操作") delay(3000) "step2 finish" log(step2) log("第三步:更新UI操作,取消提示框") progressDialog.dismiss() log("写在协程闭包后面的操作")
示例二日志打印如下:
kt===: 写在协程闭包后面的操作
kt===: 第一步:弹出提示框
kt===: 第二步:执行联网请求等耗时操作
kt===: step2 finish
kt===: 第三步:更新UI操作,取消提示框
以上是关于kotlin协程的主要内容,如果未能解决你的问题,请参考以下文章