老师,这个任务为什么不跑在子线程?子线程就不阻塞UI了

来源:3-11 更优秀的延迟初始化方案

Jacky夜雨

2020-09-23

写回答

1回答

随风绽放

2020-09-24

同学你好,有些任务对主线程与否是有要求的,可能必须跑在主线程,是针对这种说的。

0
3
随风绽放
回复
oRo
你可以这么说,所有任务都是优先放在子线程的,除了有必须要求的。如下 1. 任务内部要求必须执行在主线程的,比如某 SDK 的初始化,文档上就要求了需要主线程运行(比如判断不是主线程就要报错、有些库的某些方法会被打上 MainThread 注解、直接创建了无参的 Handler 等) 2. 非常重要的小任务,重要会被别的任务使用到的 SDK 如往路由表中做注册操作,如果是放在子线程中执行,后续别的任务使用到的时候可能注册操作还没完成 3. 还有就是 UI 渲染相关的任务
2023-10-11
共3条回复

Top团队大牛带你玩转Android性能分析与优化

由表及里学到国内Top团队对性能问题的体系化解决方案

1656 学习 · 527 问题

查看课程