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

相关推荐
千里马学框架20 分钟前
google官方Perfetto 中使用 AI相关skill
android·人工智能·ai·framework·perfetto·性能·skill
zhangphil2 小时前
Android RecyclerView图像类ViewHolder离屏缓存数量直接增加Java/View对象内存,间接增加Graphics/GL内存
android
众少成多积小致巨2 小时前
Android C++ 编码规范指南
android·c++·google
DavidSu3 小时前
Kotlin协程原理解析
android
lxysbly4 小时前
Android PS3模拟器下载推荐2026|安卓PS3模拟器哪个好?手机玩PS3游戏指南
android·游戏·智能手机
qq_246839754 小时前
记一次 Flutter 预热帧引起的初始化问题
android·flutter
阿pin4 小时前
Android随笔-要怎样与AI相处
android·人工智能·ai
Kapaseker4 小时前
Android CLI 完全指南
android·kotlin
心中有国也有家4 小时前
AtomGit Flutter 鸿蒙客户端:MoodStorage 的 CRUD 集成验证
android·服务器·flutter·华为·harmonyos
solo_995 小时前
Android window属性全解析
android