---

title: Long Tasks API:主线程阻塞检测与拆分

keywords:

  • Long Tasks API
  • PerformanceLongTaskTiming
  • PerformanceObserver
  • 阻塞检测
  • 拆分策略

description: 使用 Long Tasks API 监测主线程长任务并进行拆分与调度优化,降低交互延迟与卡顿,附采集与归因示例。

categories:

  • 应用软件
  • 编程开发

---

概述

Long Tasks API 通过 PerformanceObserver 提供超过 50ms 的长任务条目,可用于定位阻塞来源并指导拆分与延后策略。

用法/示例

new PerformanceObserver(list => {
  for (const e of list.getEntries()) {
    console.log('longtask', e.duration, e.name || '')
    // e.attribution 可用于部分环境的归因信息
  }
}).observe({ type: 'longtask', buffered: true })

工程建议

  • 将非关键计算分片或迁移至 Worker,避免帧内阻塞。
  • scheduler.postTask 协作,为后台任务设低优先级与延迟。
  • 在构建与运行时对第三方脚本进行审计与限制,减少不可控阻塞。

参考与验证

  • MDN:Long Tasks API — https://developer.mozilla.org/docs/Web/API/Long_Tasks_API
  • WICG:Long Tasks — https://w3c.github.io/longtasks/

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部