EntryList

基础库 2.11.0 开始支持,低版本需做兼容处理。

EntryList 对象

方法

Array. EntryList.getEntries()

该方法返回当前列表中的所有性能数据

Array. EntryList.getEntriesByType(string entryType)

获取当前列表中所有类型为 [entryType] 的性能数据

Array. EntryList.getEntriesByName(string name, string entryType)

获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据

wx.getPerformance()

基础库 2.11.0 开始支持,低版本需做兼容处理。

微信小程序插件:支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

获取当前微信小程序性能相关的信息。关于微信小程序启动性能优化的更多内容,请参考启动性能指南。

返回值

Performance

目前支持获取以下几类性能指标,具体内容请参考 PerformanceEntry:

指标类型(entryType) 指标名称 最低版本 |
路由(navigation) route: 路由性能
路由(navigation) appLaunch: 微信小程序启动耗时
渲染(render) firstRender: 页面首次渲染耗时
渲染(render) firstPaint: 页面首次绘制
渲染(render) firstContentfulPaint: 页面首次内容绘制
渲染(render) largestContentfulPaint: 页面最大内容绘制
脚本(script) evaluateScript: 注入脚本耗时
包加载(loadPackage) downloadPackage: 代码包下载耗时
资源(resource) resourceTiming: 视图层资源加载耗时

示例代码

const performance = wx.getPerformance()
const observer = performance.createObserver((entryList) => {
  console.log(entryList.getEntries())
})
observer.observe({ entryTypes: ['render', 'script', 'navigation'] })

注意

  • 目前,当开启代码 按需注入 时,evaluateScript 将仅包含公有部分代码(2.21.2 开始会区分公共部分/页面和组件的部分),页面和组件的代码注入的时间会包含在 firstRender 中(因为页面和组件的代码注入过程成为了首次渲染过程的一部分)。因此开启按需注入后,脚本耗时降低,渲染时间提高属于正常现象,优化效果可以关注整体启动耗时(appLaunch)来评估。
  • firstPaint 和 firstContentfulPaint 指标在开启 vConsole 的情况下,由于绘制 vConsole 面板,会导致数据提前。

wx.preloadAssets(Object object)

基础库 2.22.1 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

为视图层预加载媒体资源文件,目前支持:字体(font)、图片(image)

参数

Object object

属性 类型 默认值 必填 说明
data Array.<Object> 预加载的资源列表
结构属性 类型 默认值 必填 说明
type string 资源类型
合法值 说明
‘font’ 字体
‘image’ 图片
src string 资源地址
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

wx.preloadAssets({
  data: [
    {
      type: 'image',
      src: imgUrl,
    },
  ],
  success(resp) {
    console.log('preloadAssets success', resp)
  },
  fail(err) {
    console.log('preloadAssets fail', err)
  },
})
  • 开发过程中,可在开发者工具 network 面板查看预加载情况。

wx.preloadSkylineView(Object object)

基础库 2.24.7 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.24.7

功能描述

预加载下个页面所需要的 Skyline 运行环境。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

wx.preloadWebview(Object object)

基础库 2.15.0 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:不支持

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.15.0

功能描述

预加载下个页面的 WebView。参见预加载下个页面的时机

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

wx.reportPerformance(Number id, Number value, String|Array dimensions)

基础库 2.9.2 开始支持,低版本需做兼容处理。

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.9.3

微信 鸿蒙 OS 版:支持

相关文档: 微信小程序测速

功能描述

微信小程序测速上报。使用前,需要在微信小程序管理后台配置。

参数

Number id

指标 id

Number value

需要上报的数值

String|Array dimensions

自定义维度 (选填)

示例代码

wx.reportPerformance(1101, 680)
wx.reportPerformance(1101, 680, 'custom')

wx.requestIdleCallback(function callback, Object object)

基础库 3.10.0 开始支持,低版本需做兼容处理。

微信小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

注册一个函数,将在空闲时期被调用

参数

function callback

Object object

属性 类型 默认值 必填 说明
timeout number

示例代码

const IdleCallbackId = wx.requestIdleCallback(() => {
  console.log('idle')
}, {
  timeout: 3000
})