LoadBundle 是指 LynxView 加载执行 TemplateBundle 引发的首屏渲染流水线,LoadBundleEntry 用来记 录该次渲染流水线的性能数据,继承自 PipelineEntry。
LoadBundle 流程图如下:
若无法接收到 LoadBundleEntry 性能数据,可能由以下原因导致:
1. 未触发渲染
渲染流水线未执行,通常是因为:
render() 函数返回 null。2. 监听注册过晚
LoadBundleEntry 仅在首屏渲染完成时触发一次。建议尽早注册监听:
constructor 中注册。useMemo 中注册。该示例展示了如何获取 LoadBundleEntry。

性能事件的类型,当前类所有实例的值均固定为 pipeline。
性能事件的具体名称,当前类所有实例的值均固定为 loadBundle。
某条渲染流水线的标记, 当前类所有实例的值均固定为空字符串:
加载执行 TemplateBundle 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
加载执行 TemplateBundle 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
解析 TemplateBundle 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
解析 TemplateBundle 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
加载执行 TemplateBundle 中后台线程脚本的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
加载执行 TemplateBundle 中后台线程脚本的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
渲染流水线的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
渲染流水线的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
执行主线程脚本构建 Element Tree 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
执行主线程脚本构建 Element Tree 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
计算 Element 样式的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
计算 Element 样式的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
布局计算的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
布局计算的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
执行绘制相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
执行绘制相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
执行布局相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
执行布局相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
基于 UI 和 UITree,完成最终像素化的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
框架渲染中关键阶段的性能数据. 类型为 FrameworkPipelineTiming。
Lynx Pipeline 中不同平台特有的关键阶段的性能数据, 类型为 AndroidHostPlatformTiming | HarmonyHostPlatformTiming | IOSHostPlatformTiming。
初始化后台线程运行时环境的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
初始化后台线程运行时环境的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
容器开始打开 Lynx 页面的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
容器初始化开始的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
容器初始化完毕的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
容器开始准备 TemplateBundle 的时间。“准备”指容器通过网络下载、加载本地缓存等任意方式获得 TemplateBundle。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
容器准备完 TemplateBundle 的时间。“准备”指容器通过通过网络下载、加载本地缓存等任意方式获得 TemplateBundle。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
LynxView 开始创建的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
LynxView 创建完毕的时间。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
从准备 TemplateBundle 至首次渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:fcp = LoadBundleEntry.paintEnd - InitContainerEntry.prepareTemplateStart。
从加载 TemplateBundle 至首次渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:lynxFcp = LoadBundleEntry.paintEnd - LoadBundleEntry.loadBundleStart。
从用户打开页面至首次渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:totalFcp = LoadBundleEntry.paintEnd - InitContainerEntry.openTime。
LCD tables only load in the browser