背景
近期,我们发现以及收到部分开发者的反馈,发现iOS端的内存异常退出率较高,但从小游戏数据助手中统计的内存均值结果来看,远未达系统内存上限要求,而运行时内存占用过大是影响游戏稳定性的最大因素。经过排查,我们发现小游戏数据助手(数据 -> 性能分析 -> 运行性能 -> 内存)里关于iOS端的内存均值和内存增长的统计结果与实际游戏运行时的内存指标数据不符。
为了解决内存指标准确性问题,我们针对内存指标统计口径进行了调整(仅为统计维度上的变化,不会对游戏的其他方面造成影响),能更加准确地反映出当前游戏的实际内存占用情况,具体的调整和统计规则参考下文。
内存统计
为了能让开发者掌握游戏的运行性能数据, 小游戏框架底层会对现网玩家进行一定概率的采样,需要上报性能数据的玩家会以一定时间间隔(采样间隔为1分钟)上报数据,具体的统计规则如下:
iOS端
1. 由于小游戏与微信客户端处于同进程,故内存均值统计值为微信客户端与小游戏内存总和
2. 进入高性能模式的用户暂无法统计内存相关的数据,因此开启高性能模式的游戏内存相关的数据仅为低版本微信客户端或者低版本iOS系统下进入普通模式的用户数据
Android端
Android端采样间隔虽然为1分钟,但安卓9.0及以上的版本会对运行时内存获取进行频率限制,需要间隔约5分钟才能获取到新的内存值。
Q&A
Q1:口径修改是否会影响业务的其他性能?
A:口径变化仅为内存统计维度上的修改,能更准确反映游戏的内存占用情况,不会对游戏的其他性能指标造成影响。
Q2:以前的内存均值、内存增长是否还有参考意义?
A:有,以前的数据虽然不能准确的反映出当前游戏的实际内存占用情况,但可以用于观察内存变化趋势。
Q3:如何进行内存调优?
A:为了更好的游戏稳定性,我们建议开发参考《内存调优》文档,充分优化内存指标。
Q4:如何判断游戏当前的内存占用处于什么水平?
A:近期会更新性能《评测标准》文档,请关注后续文档内的评测标准细则。
很棒
可以