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

相关推荐
Xzaveir1 小时前
别把所有“认证”都塞进 AuthService:实名、一键登录与号码身份的领域拆分
android·人工智能
BerrySen1781 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
YM52e3 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
时间的拾荒人4 小时前
MySQL 视图详解
android·数据库·mysql
祉猷并茂,雯华若锦4 小时前
Appium 3.x安卓按键与通知栏操作全指南
android·appium
码农coding5 小时前
android 12 SurfaceFlinger开机启动分析
android
hunterandroid5 小时前
Paging 3 RemoteMediator 实战:构建离线优先的分页列表
android·前端
码农coding5 小时前
android12 开机启动PMS
android
Days20506 小时前
GPT-Image-2 国风美学人设生成提示词分享
android·gpt
浮江雾6 小时前
Flutter第十节-----Flutter布局与组件全解析
android·开发语言·前端·学习·flutter·入门