For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/lynx-api/performance-api/performance-entry/load-bundle-entry.md.
Lynx
  • 简体中文
  • LoadBundleEntry

    LoadBundle 是指 LynxView 加载执行 TemplateBundle 引发的首屏渲染流水线,LoadBundleEntry 用来记录该次渲染流水线的性能数据,继承自 PipelineEntry

    LoadBundle 流程图如下:

    Tip

    若无法接收到 LoadBundleEntry 性能数据,可能由以下原因导致:

    1. 未触发渲染

    渲染流水线未执行,通常是因为:

    • LynxView 容器状态问题:宽高为 0、不在视口内、或未添加到窗口。
    • 业务逻辑未渲染内容:例如数据未就绪导致组件的 render() 函数返回 null

    2. 监听注册过晚

    LoadBundleEntry 仅在首屏渲染完成时触发一次。建议尽早注册监听:

    • 类组件在 constructor 中注册。
    • 函数式组件在 useMemo 中注册。

    示例

    该示例展示了如何获取 LoadBundleEntry

    实例属性

    entryType

    entryType: string;

    性能事件的类型,当前类所有实例的值均固定为 pipeline

    name

    name: string;

    性能事件的具体名称,当前类所有实例的值均固定为 loadBundle

    identifier

    identifier: string;

    某条渲染流水线的标记, 当前类所有实例的值均固定为空字符串:

    loadBundleStart

    loadBundleStart: number;

    加载执行 TemplateBundle 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    loadBundleEnd

    loadBundleEnd: number;

    加载执行 TemplateBundle 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    parseStart

    parseStart: number;

    解析 TemplateBundle 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    parseEnd

    parseEnd: number;

    解析 TemplateBundle 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    loadBackgroundStart

    loadBackgroundStart: number;

    加载执行 TemplateBundle后台线程脚本的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    loadBackgroundEnd

    loadBackgroundEnd: number;

    加载执行 TemplateBundle后台线程脚本的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    pipelineStart

    pipelineStart: number;

    渲染流水线的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    pipelineEnd

    pipelineEnd: number;

    渲染流水线的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    mtsRenderStart

    mtsRenderStart: number;

    执行主线程脚本构建 Element Tree 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    mtsRenderEnd

    mtsRenderEnd: number;

    执行主线程脚本构建 Element Tree 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    resolveStart

    resolveStart: number;

    计算 Element 样式的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    resolveEnd

    resolveEnd: number;

    计算 Element 样式的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    layoutStart

    layoutStart: number;

    布局计算的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    layoutEnd

    layoutEnd: number;

    布局计算的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    paintingUiOperationExecuteStart

    paintingUiOperationExecuteStart: number;

    执行绘制相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    paintingUiOperationExecuteEnd

    paintingUiOperationExecuteEnd: number;

    执行绘制相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    layoutUiOperationExecuteStart

    layoutUiOperationExecuteStart: number;

    执行布局相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    layoutUiOperationExecuteEnd

    layoutUiOperationExecuteEnd: number;

    执行布局相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    paintEnd

    paintEnd: number;

    基于 UI 和 UITree,完成最终像素化的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    frameworkPipelineTiming

    frameworkPipelineTiming:  FrameworkPipelineTiming[keyof FrameworkPipelineTiming];

    框架渲染中关键阶段的性能数据. 类型为 FrameworkPipelineTiming

    hostPlatformTiming

    hostPlatformTiming: AndroidHostPlatformTiming |
      HarmonyHostPlatformTiming |
      IOSHostPlatformTiming;

    Lynx Pipeline 中不同平台特有的关键阶段的性能数据, 类型为 AndroidHostPlatformTiming | HarmonyHostPlatformTiming | IOSHostPlatformTiming

    loadCoreStart

    loadCoreStart: number;

    初始化后台线程运行时环境的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    loadCoreEnd

    loadCoreEnd: number;

    初始化后台线程运行时环境的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    openTime

    openTime?: number;

    容器开始打开 Lynx 页面的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    containerInitStart

    containerInitStart?: number;

    容器初始化开始的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    containerInitEnd

    containerInitEnd?: number;

    容器初始化完毕的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    prepareTemplateStart

    prepareTemplateStart?: number;

    容器开始准备 TemplateBundle 的时间。“准备”指容器通过网络下载、加载本地缓存等任意方式获得 TemplateBundle。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    prepareTemplateEnd

    prepareTemplateEnd?: number;

    容器准备完 TemplateBundle 的时间。“准备”指容器通过通过网络下载、加载本地缓存等任意方式获得 TemplateBundle。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    createLynxStart

    createLynxStart: number;

    LynxView 开始创建的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    createLynxEnd

    createLynxEnd: number;

    LynxView 创建完毕的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

    fcp

    fcp?: PerformanceMetric;

    从准备 TemplateBundle 至首次渲染完成的耗时,数据类型为 PerformanceMetric

    计算公式为:fcp = LoadBundleEntry.paintEnd - InitContainerEntry.prepareTemplateStart

    lynxFcp

    lynxFcp: PerformanceMetric;

    从加载 TemplateBundle 至首次渲染完成的耗时,数据类型为 PerformanceMetric

    计算公式为:lynxFcp = LoadBundleEntry.paintEnd - LoadBundleEntry.loadBundleStart

    totalFcp

    totalFcp?: PerformanceMetric;

    从用户打开页面至首次渲染完成的耗时,数据类型为 PerformanceMetric

    计算公式为:totalFcp = LoadBundleEntry.paintEnd - InitContainerEntry.openTime

    兼容性

    LCD tables only load in the browser

    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。