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

相关推荐
阿巴斯甜6 分钟前
Android Studio 新版 Logcat
android
监督者修24 分钟前
从零构建 GIS 数据引擎:方案驱动架构的设计与实践
android·架构·kotlin
Yoke29 分钟前
从零到三端:用 Kotlin Multiplatform + Compose 构建跨平台财务追踪应用
android
gxgldyh40 分钟前
Android Framework源码解析(六):Launcher3 启动流程详解——AMS 如何拉起系统桌面?
android
XiaoLeisj41 分钟前
HandlerThread 与 IntentService 使用及源码解析
android·handler
我命由我1234510 小时前
Android Studio - Android Studio 自定义预览尺寸
android·java·ide·java-ee·android studio·android-studio·android runtime
取个名字太难了~12 小时前
越用越便宜,越用越强大:影像 SDK 的边际成本递减与网络效应实践
android·数码相机·美颜·相机连接·demu
AFinalStone16 小时前
Android 7系统网络(四)Native层(下)—netd Controller详解
android·网络
爱笑鱼16 小时前
Handler(一):post 之后,Runnable 到底在哪个线程执行?
android
木木子2217 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos