android 关于使用协程的一些问题

问题1:能不能在GlobalScope.launch(Dispatchers.Main){} 做耗时事情

问题2: delay() 算不算耗时的

案例1:

复制代码
        findViewById<View>(R.id.btn1).setOnClickListener {
            GlobalScope.launch(Dispatchers.Main){
                 Thread.sleep(21000)
                 Toast.makeText(this@MainActivity,"sdfs",Toast.LENGTH_SHORT).show()
            }
        }

效果:直接ANR了

案例2:

复制代码
      findViewById<View>(R.id.btn1).setOnClickListener { 

            GlobalScope.launch(Dispatchers.Main){
                 delay(20000)
                Toast.makeText(this@MainActivity,"sdfs",Toast.LENGTH_SHORT).show()
            }
        }

效果:20秒以后显示了 Toast

相关推荐
代码s贝多芬的音符13 小时前
android mlkit 实现仰卧起坐和俯卧撑识别
android
jwn99913 小时前
Laravel9.x核心特性全解析
android
今天又在写代码14 小时前
数据智能分析平台部署服务器
android·服务器·adb
梦里花开知多少15 小时前
深入谈谈Launcher的启动流程
android·架构
jwn99915 小时前
Laravel11.x新特性全解析
android·开发语言·php·laravel
我就是马云飞15 小时前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
stevenzqzq16 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
唔6616 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔6616 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin
Melrose16 小时前
移动端安全攻防
android·前端·安全