最大限度地减少主线程工作
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
浏览器的渲染程序进程会将您的代码转换为用户可以与之互动的网页。默认情况下,渲染程序进程的主线程通常会处理大多数代码:它会解析 HTML 并构建 DOM,解析 CSS 并应用指定的样式,然后解析、评估和执行 JavaScript。
主线程也会处理用户事件。
因此,每当主线程忙于执行其他操作时,您的网页可能不会响应用户互动,从而导致糟糕的体验。
Lighthouse 主线程工作审核如何失败
Lighthouse 标记在加载期间主线程处于忙碌状态超过 4 秒的页面:
为了帮助您确定主线程负载的来源,Lighthouse 详细显示了浏览器加载页面时 CPU 时间所花在何处。
如何最大限度地减少主线程工作
以下部分按 Lighthouse 报告的类别进行整理。如需简要了解 Chromium 如何呈现网页,请参阅框架剖析。
请参阅减少主线程工作量,了解如何使用 Chrome 开发者工具精确调查主线程在网页加载时执行的操作。
脚本评估
样式和布局
渲染
解析 HTML 和 CSS
脚本解析和编译
垃圾回收
资源
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2019-05-02。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2019-05-02\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2019-05-02。"],[],[]]