/*** 查询正在运行的小游戏的实时性能快照。仅支持小游戏引擎。** @param appId 小游戏 appId* @param callback 性能快照回调*/public static void queryPerformance(String appId, MiniCallback<PerformanceSnapshot> callback)
字段 | 说明 |
appId | 小游戏 appId |
pid | 小游戏所在进程 pid |
pkgVersion | 小游戏版本 |
sdkVersion | SDK 版本号 |
baseLibVersion | 基础库版本号 |
字段 | 说明 |
requesttimeMs | 拉取小游戏配置信息的网络耗时 |
loadtimeMs | 从点击到逻辑层就绪(含基础库加载 + 代码注入) |
readytimeMs | 从点击到首屏渲染就绪(首帧出现) |
字段 | 说明 |
memoryCurrentKb | 当前内存(KB) |
memoryAvgKb | 平均内存(KB) |
memoryPeakKb | 峰值内存(KB) |
memoryGrowthKb | 内存增长量(KB) |
字段 | 说明 |
cpuAvg | 平均 CPU 占用(%) |
cpuPeak | 峰值 CPU 占用(%) |
cpuCurrent | 当前 CPU 占用(%) |
字段 | 说明 |
fpsAvg | 平均帧率(每秒采样一次当前帧率,取会话内所有采样的算术平均值) |
fpsVariance | 帧率方差(对最近至多200个每秒 fps 采样计算的总体方差( Σ(fps - mean)² / n,非标准差,单位为 fps²)。方差越大表示帧率抖动越剧烈、画面越不稳定;数值本身不等于帧率损失) |
jankCount | 卡顿次数(某一帧同时满足耗时大于前3帧平均的2倍且耗时大于83.3ms 时记一次 jank) |
bigJankCount | 严重卡顿次数 (某一帧同时满足耗时大于前3帧平均的2倍且耗时大于125ms 时记一次 bigJank) |
字段 | 说明 |
downloadRecords | 本次运行期内所有下载记录,按 `module`去重(保留最后一次),默认空列表 module:分包名字 flowBytes:下载流量 costMs:下载耗时 |
runningDurationMs | 前台运行时长(毫秒) |
TmfMiniSDK.queryPerformance(appId, (code, msg, snapshot) -> {if (code == MiniCode.CODE_OK && snapshot != null) {Log.i(TAG, "fpsAvg=" + snapshot.fpsAvg+ ", memoryCurrentKb=" + snapshot.memoryCurrentKb+ ", cpuAvg=" + snapshot.cpuAvg);} else {Log.w(TAG, "queryPerformance failed, code=" + code + ", msg=" + msg);}});
C_CLIENT_MINI_APP_NOT_SUPPORT。fps/jank 每秒采集一次。刚启动或前台运行不足数秒时,fpsVariance、峰值、方差等可能为 0 或不具参考价值。fpsVariance 是方差不是标准差:单位为 fps²,量纲与帧率不同,不能直接与 fpsAvg 相加减;仅用于横向比较帧率稳定性。窗口上限200个样本(约 200 秒),更早的采样会被覆盖。jankCount / bigJankCount 是累计值:为本进程生命周期内累加,跨前后台切换不重置。若要观察某段时间的卡顿增量,需业务方自行对两次查询结果做差。jank(帧耗时 >83.3ms 且相对前 3 帧突增)/ bigJank(>125ms)的阈值由 MagicBrush 引擎实现,可能随引擎版本调整;建议以趋势对比为主,不要对阈值本身做硬编码依赖。文档反馈