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

相关推荐
三少爷的鞋11 小时前
从 MVVM 到 MVI:为什么说 MVVM 的 UI 状态像“网”,而 MVI 像“一条线”?
android
蜡台12 小时前
Flutter 安装配置
android·java·flutter·环境变量
阿乐艾官12 小时前
【HBase列式存储数据库】
android·数据库·hbase
yoyo_zzm13 小时前
MySQL的索引
android·数据库·mysql
Okailon14 小时前
PHP面向对象模块 jc-simple-footer 的技术详解
android·php·开源软件·家谱软件
llxxyy卢15 小时前
polar-web部分中等题目
android·前端·sql·web安全
zJianFlys16 小时前
Android16(API36)在获取WiFi信息时SSID为<unknown ssid>
android
WarPigs16 小时前
Android开发笔记
android
星河耀银海16 小时前
C++ 异常处理机制:异常捕获、自定义异常与实战应用
android·java·c++
AndroidCode16 小时前
Android Automotive Power Policy 全流程技术解析
android