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

相关推荐
三少爷的鞋10 分钟前
小团队的最优解:单 Module + 包内 Clean 架构
android
爱和冰阔落18 分钟前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim
年小个大10 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
Android-Flutter11 小时前
为什么说ActivityThread是主线程?
android·kotlin
余额瞒着我当琳13 小时前
C++模板初阶与STL初探
android·java·c++
知行合一。。。15 小时前
DeepAgents--01--Agent和OpenClaw的相关概念
android·数据库
汪海游龙17 小时前
告别 Play Console 手动上传:从模拟器截图到自动发版的完整流水线
android·ci/cd·github
weixin_4407841117 小时前
【IntentSeivice实现原理】
android·java·开发语言·intentservice
delta_hell17 小时前
【阅读源码--Android】动画之ValueAnimator--2
android·源码·valueanimator
delta_hell17 小时前
【阅读源码--Android】动画之辅助类
android·源码·animator