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

相关推荐
独自破碎E2 分钟前
BISHI53 [P1080] 国王游戏(简化版)
android·java·游戏
阮松云33 分钟前
安卓Citra闪退,天马g前端3ds无法启动,Citra闪退
android
独行soc2 小时前
2026年渗透测试面试题总结-26(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
码云数智-园园2 小时前
深入理解 Android 消息机制:Handler、Looper 与 MessageQueue 的协同工作原理
android
ritxgt00611 小时前
MySQL 数据增删改查
android·数据库·mysql
zlpzpl12 小时前
MySQL 的 INSERT(插入数据)详解
android·数据库·mysql
Jomurphys15 小时前
Compose 调用 - 震动 LocalHapticFeedback
android·compose
非凡ghost15 小时前
小X分身APP(手机分身类工具)
android·windows·学习·智能手机·软件需求
erqi18 小时前
Compose你入门吧
android
q***765618 小时前
MySQL 中如何进行 SQL 调优
android·sql·mysql