---
title: "为什么「启动总耗时」与「下载耗时」、「JS 注入耗时」、「初次渲染耗时」之和差异很大？"
id: "cb29535bc9544311"
typeName: "小程序-开发-指南"
utime: "2026-07-28 17:55:42"
---

# 为什么「启动总耗时」与「下载耗时」、「JS 注入耗时」、「初次渲染耗时」之和差异很大？

虽然启动总耗时包含下载、JS 注入和初次渲染的阶段，但性能数据中的**「启动总耗时」与「下载耗时 + JS 注入耗时 + 初次渲染耗时」之间并不存在必然关联**。原因有几方面：

- 这几项指标的粒度是不一致的：启动总耗时是以一次冷启动为粒度，下载耗时是以代码包为粒度，JS 注入耗时是以文件为粒度，初次渲染耗时是以页面为粒度，之间并不是一对一的。
- 下载、JS 注入、初次渲染都不仅发生在启动阶段。
  - 下载也可能发生在页面切换、分包预下载的场景。启动过程中不一定会下载代码包，也不一定只下载一个代码包。
  - JS 注入也可能发生在页面切换和小程序运行过程中。启动过程中可能会注入一个或多个文件，且受到缓存等维度的影响。
  - 首次渲染也可能发生在页面切换过程中，也受到缓存等维度的影响。
- 这几个耗时本身是平均值，涉及不同的维度，没有对应关系，求和无意义。
- 下载耗时、JS 注入耗时、初次渲染耗时只是提供给开发者参考优化每个阶段的耗时，并不能用来计算与启动总耗时的关系。
- 启动过程中，除了这三部分耗时，某些条件下也存在小程序相关信息和运行环境准备的耗时。这部分耗时也与「启动总耗时 - 下载耗时 - JS 注入耗时 - 初次渲染耗时」没有必然关系。

## 相关文档

- [性能数据](/miniprogram/dev/framework/performance/perf_data.md)
