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

相关推荐
一只特立独行的Yang18 分钟前
Android中的系统级共享库
android
两个人的幸福online1 小时前
php开发者 需要 协程吗
android·开发语言·php
修炼者2 小时前
WindowManager(WMS)构建全局悬浮窗
android
xiaoshiquan12062 小时前
Android Studio里,SDK Manager显示不全问题
android·ide·android studio
Lstone73643 小时前
Bitmap深入分析(一)
android
一起搞IT吧4 小时前
Android功耗系列专题理论之十四:Sensor功耗问题分析方法
android·c++·智能手机·性能优化
ByNotD0g4 小时前
Doris 学习笔记
android·笔记·学习
修炼者4 小时前
【Android进阶】 RenderEffect的底层实现
android
bropro5 小时前
MySQL不使用子查询的原因
android·数据库·mysql