# 小程序评分

更新时间:2023-03-08 04:55:36

开发者工具提供小程序评分功能:可以从性能维度,来对小程序的运行进行实时分析,同时提供对应的优化建议。

# 支持版本

开发者工具v1.10.0以上版本,工具下载 (opens new window)

# 操作流程

# 1、功能入口

打开新版开发者工具进入项目,在调试器区域切换到Audits面板,即可看到体验评分入口。
img

# 2、运行

点击”运行“按钮,然后在模拟器中自行操作小程序页面,运行过的页面就会被“体验评分”检测到。为了使检测结果更加全面,在操作页面时,建议尽可能覆盖所有页面,并触发各个页面内的交互。

操作完成后,点击“生成体验报告”按钮来结束当前检测,并生成体验报告。
img

# 3、生成体验评分报告

在当前面板会生成相应的检测报告,可以看到小程序性能维度的得分情况,以及“未通过”、“已通过”、“不适用当前小程序”项目的详细数据和优化建议。点击可查看评分标准

可以根据报告中的建议对相应功能进行优化。
img

# 4、web端查看

点击右上方“导出”按钮可以在桌面生成对应的html文件,支持在浏览器中打开查看。

# 5、清空并返回

如需再次检测,可点击报告右上方的“清空并返回”按钮恢复至初始状态。

请注意,体验评分不提供报告存储服务,一旦清空体验评分,将无法再查看本次评分结果。

# 评分标准

评分规则
说明
标准
权重
KSML节点数 统计KSML渲染后的页面KSML节点数、最大节点数深度、最大子节点数。一个太大的KSML节点树会增加内存的使用,样式重排时间也会更长 建议一个页面使用少于 1000 个KSML节点,节点树深度少于 30 层,子节点数不大于 60 个 6
脚本执行时间 脚本执行时间是指 JS 脚本在一次同步执行中消耗的时间,比如生命周期回调、事件处理函数的同步执行时间。执行脚本的耗时过长让用户觉得卡顿,体验较差,出现这一情况时,需要确认并优化脚本的逻辑 一个执行周期内脚本运行时间不超过 1 s 7
首屏时间 首屏时间是指用户开始看到第一屏的内容的时间,首屏时间太长会导致用户长时间看到的都是白屏,会一直等待有意义的内容展示出来。出现这一情况,应仔细检查这个过程都有哪个操作,一般来说,可能是请求数据的时间太长,或者是一次渲染的数据太大导致渲染时间太长 首屏时间不超过 5 s 6
界面渲染时间 渲染界面的耗时过长会让用户觉得卡顿,体验较差,出现这一情况时,需要校验下是否同时渲染的区域太大 单次渲染时间不超过 500 ms 6
请求耗时 请求的耗时太长会让用户一直等待甚至离开,应当优化好服务器处理时间、减小回包大小,让请求快速响应 所有网络请求都在 1 s内返回结果 5
网络请求缓存 发起网络请求总会让用户等待,可能造成不好的体验,应尽量避免多余的请求,比如对同样的请求进行缓存 3 分钟以内同一个url请求不出现两次回包大于 128 KB 且一模一样的内容 2
网络请求频率 短时间内发起太多请求会触发小程序并行请求数量的限制,同时太多请求也可能导致加载慢等问题,应合理控制请求数量,甚至做请求的合并等 通过ks.request发起的耗时超过300 ms的请求并发数不超过 10 个 5
图片缓存 开启 HTTP 缓存控制后,下一次加载同样的图片,会直接从缓存读取,提升加载速度 检查图片资源response header是否开启缓存 4
图片大小 图片太大会增加内存的消耗,应根据显示区域大小合理控制图片大小 图片宽高乘积≤实际显示宽高乘积 * (设备像素比 ^ 2) 4
图片请求频率 短时间内发起太多图片请求会触发浏览器并行加载的限制,可能导致图片加载慢,用户一直处理等待。应该合理控制数量,可考虑使用雪碧图技术、拆分域名或在屏幕外的图片使用懒加载 同域名耗时超过 100 ms的图片请求并发数不超过 6 个 5
setData数据大小 由于小程序运行逻辑线程与渲染线程之上,setData的调用会把数据从逻辑层传到渲染层,数据太大会增加通信时间 setData的数据在JSON.stringify后不超过 256 KB 6
setData调用频率 setData接口的调用涉及逻辑层与渲染层间的线程通过,通信过于频繁可能导致处理队列阻塞,界面渲染不及时而导致卡顿,应避免无用的频繁调用 每秒调用setData的次数不超过 20 次 6
Copyright ©2026, All Rights Reserved