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

相关推荐
码农coding6 小时前
android 12 中的VSYNC接收
android
GitLqr6 小时前
Flutter 3.44 性能飞跃:深度解析 Android Platform View 的 HCPP 新特性
android·flutter·性能优化
码农coding6 小时前
android 12 SurfaceFlinger中的CompositionEngine
android
Mem0rin7 小时前
[MySQL] 聚合函数、分组查询、连接查询
android·mysql
码龙-DragonCoding8 小时前
一键批量提取音频、提取视频
android·音视频·提取
祉猷并茂,雯华若锦8 小时前
Win下完美解决Allure报错,生成Web自动化测试报告
android·python·selenium·自动化
IT小盘10 小时前
08-FastAPI加MySQL实现AI对话记录持久化
android·mysql·fastapi
alice--小文子10 小时前
安卓(Android)- 怎么在adb中通过真机操作日志相关
android·adb
清泓y10 小时前
Android内存管理与性能优化面试真题
android·面试·性能优化
hopsky10 小时前
Wechatsync 安全审计报告
android·java·安全