4 测试结果
4.1 结果判定总表
表 4-1主要测试项判定(itel A50;未注明时为 4G、无后台压力、视觉完成中位数)
| 测试项 | OPay | PalmPay | OPay ÷ PalmPay | 判定 | 详见 |
|---|
| 话费页 | 1.60 秒 | 1.29 秒 | 1.23 | 落后 | 4.2 |
| 话费:选金额 → 收银台 | 1.50 秒 | 1.36 秒 | 1.11 | 落后 | 4.2 |
| 流量页 | 1.94 秒 | 1.19 秒 | 1.63 | 明显落后 | 4.2 |
| 流量:选套餐 → 收银台 | 1.37 秒 | 1.33 秒 | 1.03 | 持平 | 4.2 |
| 本平台转账页 | 1.23 秒 | 0.99 秒 | 1.25 | 落后 | 4.2 |
| 转银行页 | 1.21 秒 | 0.75 秒 | 1.61 | 明显落后 | 4.2 |
| 交易列表(参考) | 1.30 秒 | 1.53 秒 | 0.85 | 领先 | 4.2 |
| 消息页 | 1.87 秒 | 0.64 秒 | 2.93 | 明显落后 | 4.2 |
| Betting 页 | 2.16 秒 | 1.03 秒 | 2.09 | 明显落后 | 4.2 |
| 本平台 / 转银行页系统首帧 | 0.74 / 0.54 秒 | 0.17 / 0.17 秒 | 4.4 / 3.2 | 明显落后 | 4.2 |
| 冷启动系统首帧 | 1.05 秒 | 1.09 秒 | 0.96 | 持平 | 4.3 |
| 冷启动首页内容出齐 | 6.40 秒 | 4.36 秒 | 1.47 | 落后 | 4.3 |
| 后台有压力:各页面倍数中位数 | 1.42 倍 | 1.33 倍 | 1.07 | 持平 | 4.4 |
| 后台有压力:流量页 | 5.98 秒 | 1.58 秒 | 3.78 | 明显落后 | 4.4 |
| 后台有压力:冷启动首帧 | 2.49 秒 | 1.68 秒 | 1.48 | 落后 | 4.4 |
| 交易记录可打开(4G / 3G) | 8/12、1/4 轮 | 全部成功 | — | 不通过 | 4.6 |
| 业务接口报错率(3G 同地同时段) | 8% | 1% | — | 明显落后 | 4.6 |
| 接近断网(固定 2G)时的降级 | 关键内容为空、无提示 | 本地数据显示 + 提示 + 重连 | — | 不通过 | 4.5 |
| 自家接口等待 P90 | 469–498 ms | 194 ms | 2.4–2.6 | 明显落后 | 4.7 |
| 首页滚动卡顿帧 | 16% | 6–11% | — | 明显落后 | 4.8 |
| 打开登录页(登录前) | 3.12 秒 | 0.24 秒 | 13 | 明显落后 | 4.9 |
| 登录前冷启动内存(PSS) | 114 MB | 151 MB | 0.75 | 领先 | 4.9 |
| ANR / 崩溃(723 个有效轮次) | 0 | 0 | — | 通过 | 3.1 |
倍数 1.11(选金额 → 收银台)处于判定边界。交易列表三家账号交易数量不同,仅作参考。
4.2 页面速度(4G,无后台压力)
表 4-2视觉完成(秒;中位数(最小–最大),n;itel A50,4G,无后台压力)
| 场景 | OPay | PalmPay | Moniepoint | OPay ÷ PalmPay | 判定 |
|---|
| T4 话费页 | 1.60(1.44–2.39),n=10 | 1.29(0.95–1.91),n=7 | 0.94(0.72–1.70),n=7 | 1.23 | 落后 |
| T5 选金额 → 收银台 | 1.50(1.24–2.35),n=10 | 1.36(1.20–1.53),n=7 | 0.35(0.27–0.43),n=7 ¹ | 1.11 | 落后 |
| T5 附加:给自己买 → 金额页 | — | — | 0.71(0.48–2.19),n=7 | — | 参考 |
| T6 流量页 | 1.94(1.72–5.30),n=10 | 1.19(0.99–1.39),n=7 | 1.02(0.95–2.50),n=7 | 1.63 | 明显落后 |
| T6 选套餐 → 收银台 | 1.37(1.24–1.65),n=10 | 1.33(1.26–1.44),n=7 | 0.27(0.25–0.32),n=7 ¹ | 1.03 | 持平 |
| T7 本平台转账页 | 1.23(1.13–2.59),n=10 | 0.99(0.73–1.42),n=7 | 1.13(0.96–1.45),n=7 | 1.25 | 落后 |
| T8 转银行页 | 1.21(1.05–1.66),n=10 | 0.75(0.69–1.18),n=7 | 同 T7 | 1.61 | 明显落后 |
| T9 交易列表 | 1.30(0.83–1.54),n=8 | 1.53(0.63–2.81),n=7 | 0.59(0.46–0.72),n=7 | 0.85 | 领先 |
| T10 消息页 | 1.87(1.51–4.29),n=10 | 0.64(0.51–0.83),n=7 | — | 2.93 | 明显落后 |
| T12 Betting 页 | 2.16(1.46–11.82),n=10 | 1.03(0.95–1.36),n=7 | 0.25(0.22–2.44),n=7 | 2.09 | 明显落后 |
¹ Moniepoint 的确认单是同一页面内的底部弹层,与 OPay、PalmPay 跳转到独立收银台页面的流程不同,仅作参考。T9 OPay n=8:其余轮次为失败轮(交易记录打不开,4G 合计 4/12,见 4.6),不计入耗时。
表 4-3系统首帧(秒;中位数(最小–最大),n;同上条件;Moniepoint 为 Flutter 单页面应用,无此项)
| 场景 | OPay | PalmPay | OPay ÷ PalmPay |
|---|
| T4 话费页 | 0.56(0.25–1.25),n=9 | 0.47(0.27–0.66),n=6 | 1.19 |
| T5 选金额 → 收银台 | 0.26(0.23–0.29),n=8 | 0.31(0.31–0.31),n=2 | 0.84 |
| T6 流量页 | 0.37(0.24–0.42),n=6 | 0.41(0.32–0.55),n=6 | 0.90 |
| T6 选套餐 → 收银台 | 0.24(0.24–0.26),n=3 | 0.32(0.28–0.42),n=5 | 0.76 |
| T7 本平台转账页 | 0.74(0.41–1.54),n=9 | 0.17(0.16–0.18),n=6 | 4.4 |
| T8 转银行页 | 0.54(0.45–0.76),n=10 | 0.17(0.16–0.20),n=6 | 3.2 |
| T9 交易列表 | 0.26(0.23–0.39),n=7 | 0.27(0.24–0.31),n=3 | 0.95 |
| T10 消息页 | 0.47(0.41–1.03),n=7 | 0.22(0.19–0.28),n=5 | 2.1 |
| T12 Betting 页 | 0.47(0.35–0.69),n=9 | 0.30(0.28–0.45),n=5 | 1.6 |
系统首帧只在页面切换为新 Activity 时记录,部分轮次没有该事件,所以 n 小于视觉完成。
分析:话费、流量、收银台、交易列表的首帧两家相近,OPay 的差距出现在首帧之后(等接口与营销模块);转账页的首帧本身就是 PalmPay 的 3–4 倍,说明转账页的创建和布局本身较重,问题不只在接口。
以下截图取每家与中位数最接近的一轮,同一时刻并排对比,绿框为该轮视觉完成;用户名、账号、手机号、收款人已打码。
图 4-1流量页:三家同一时刻的画面(itel A50,4G,无后台压力)点击图片放大

OPay 1.5 秒时只有号码行,三重礼、优惠券、套餐与返现到 1.96 秒才出齐;PalmPay 1.0 秒出框架、1.33 秒完成。Moniepoint 这一轮进入流量页即弹出通讯录权限说明框,视觉完成测的是带弹框的画面,仅作参考。
图 4-2Betting 页:三家同一时刻的画面(itel A50,4G,无后台压力)点击图片放大

OPay 1.0 秒页面只有输入框,1.5 秒出平台与金额,2.19 秒推荐活动等营销模块出齐;PalmPay 1.0 秒基本完整(1.21 秒完成);Moniepoint 为平台列表页,0.25 秒完成。
图 4-3消息页:OPay 与 PalmPay 同一时刻的画面(itel A50,4G,无后台压力)点击图片放大

OPay 消息页为 RN 页面,1.0、1.5 秒只有标题和分类标签,1.94 秒消息列表才出现;PalmPay 0.5 秒列表已出(0.62 秒完成)。Moniepoint 无此入口。
图 4-4本平台转账页:首帧差距(itel A50,4G,无后台压力)点击图片放大

OPay 系统首帧 0.74 秒,录屏中 0.8 秒仍是首页、1.0 秒新页面才出现;PalmPay 系统首帧 0.16 秒,0.6 秒页面已出。两家视觉完成接近(1.24 vs 1.23 秒),差距主要在页面创建(见 F-05)。OPay 最近收款人(姓名、账号)已打码。
4.3 已登录冷启动
表 4-4已登录冷启动(秒;中位数(最小–最大),n;itel A50,4G,无后台压力)
| 指标 | OPay | PalmPay | Moniepoint ¹ | OPay ÷ PalmPay | 判定 |
|---|
| 系统首帧(TotalTime) | 1.05(1.01–1.51),n=5 | 1.09(0.95–1.68),n=6 | 5.55(4.43–7.81),n=4 | 0.96 | 持平 |
| 首页内容出齐 | 6.40(4.43–6.60),n=5 | 4.36(4.24–5.18),n=6 | 7.69(6.69–9.15),n=4 | 1.47 | 落后 |
¹ Moniepoint 冷启动终点是 6 位密码锁屏页,与另两家不可比。
过程观察:OPay 冷启动依次出现空白页加顶部转圈 → 入口区 → 用户名与余额卡(余额先转圈)。首页右下角"Click for Security"悬浮按钮在内容出齐后约 2–5 秒自动收起,属动效,不计入(V4 的 9.7 秒即被它拉长)。生产包冷启动抓包(5 轮)显示,首页业务接口 api.opayweb.com 要到启动后 3.2–4.5 秒才发出,此前已先发出 26–41 个请求(Facebook SDK 7、首页配置 5–9、AB 测试 4–6、埋点 3–4、AppsFlyer 2–3、设备安全配置 2–3)。同一次运行中 Application.onCreate 耗时 OPay 791ms、PalmPay 约 285ms、Moniepoint 228ms。
4.4 后台有压力
表 4-5后台压力对设备状态的影响(itel A50)
| 观测项 | 无压力 | 有压力 |
|---|
| 开测时被测 App 进程是否存活 | OPay 39/40 轮、PalmPay 38/40 轮、Moniepoint 30/30 轮存活 | OPay 0/15、PalmPay 0/15 存活(全部被系统回收,需重新冷启动);Moniepoint 同样被回收 |
| 测量期间系统回收其他进程(次/轮,中位数) | 0–1 | 4–5(Moniepoint 2) |
| 开测时系统可用内存(中位数) | 约 610–720 MB | 约 720–780 MB(系统以回收后台进程维持,读数不反映压力) |
itel A50 总内存 1.87GB。因此"有压力"下的页面耗时包含两部分影响:App 被回收后重新冷启动,以及测量期间内存紧张、频繁回收进程。各页面计时仍从回到首页、点击入口开始,不包含冷启动时间。
表 4-6无压力 → 有压力(视觉完成,秒;4G;有压力 n=3、无压力 n=7–10)
| 场景 | OPay | PalmPay | Moniepoint |
|---|
| 话费页 | 1.60 → 2.19(1.37 倍) | 1.29 → 1.55(1.20 倍) | 0.94 → 0.75(未变慢) |
| 选金额 → 收银台 | 1.50 → 2.37(1.58 倍) | 1.36 → 1.57(1.16 倍) | 0.35 → 0.27(未变慢) |
| 流量页 | 1.94 → 5.98(3.09 倍) | 1.19 → 1.58(1.33 倍) | 1.02 → 0.92(未变慢) |
| 选套餐 → 收银台 | 1.37 → 2.42(1.77 倍) | 1.33 → 1.57(1.18 倍) | 0.27 → 0.17(未变慢) |
| 本平台转账页 | 1.23 → 1.72(1.40 倍) | 0.99 → 1.43(1.44 倍) | 1.13 → 0.93(未变慢) |
| 转银行页 | 1.21 → 1.71(1.42 倍) | 0.75 → 1.18(1.57 倍) | — |
| 交易列表 | 1.30 → 1.23(未变慢) | 1.53 → 2.09(1.37 倍) | 0.59 → 0.48(未变慢) |
| 各页面倍数中位数 | 1.42 倍 | 1.33 倍 | 未测出变慢 |
| 冷启动系统首帧 | 1.05 → 2.49(2.38 倍) | 1.09 → 1.68(1.54 倍) | 5.55 → 5.29(锁屏页) |
| 冷启动首页内容出齐 | 6.40 → 5.88 ¹ | 4.36 → 5.35 | — |
¹ OPay 有压力下首页内容出齐(5.88 秒,n=3)略快于无压力(6.40 秒,n=5),是样本少和首页接口返回时间波动所致,不代表压力下更快。Moniepoint 的"未变慢"数值变小,是因为它用本地数据先画、确认单为页面内弹层,零点几秒的差异在测量精度附近;且其每轮在人工解锁、App 刚重启后才开始计时。
4.5 网络条件
4.5.1 偶发 EDGE(10-21,延迟正常、带宽低;仅 PalmPay、Moniepoint)
表 4-74G → EDGE(视觉完成,秒;PalmPay 无压力;ping 25–64ms)
| 场景 | PalmPay | Moniepoint |
|---|
| 话费页 | 1.29 → 3.27(2.53 倍) | 0.94 → 0.89(未变慢) |
| 流量页 | 1.19 → 3.66(3.08 倍) | 1.02 → 0.90(未变慢) |
| 本平台转账页 | 0.99 → 1.34(1.35 倍) | 1.13 → 1.05(未变慢) |
| 转银行页 | 0.75 → 0.91(1.21 倍) | — |
| Betting 页 | 1.03 → 1.56(1.51 倍) | 0.25 → 0.22(未变慢) |
| 收银台、交易列表、消息 | 0.98–1.22 倍 | 未变慢 |
| 各页面倍数中位数 | 1.22 倍 | 未测出变慢 |
页面是否"等接口再画"决定了弱网体验:PalmPay 话费、流量页等接口返回才画完整,EDGE 下慢 2.5–3.1 倍;Moniepoint 用本地数据先画,未测出变慢。OPay 未碰上该时段(偏差 D3)。
4.5.2 固定 2G(10-22,接近断网;OPay、PalmPay)
测试人员锁定首选网络为 2G,两家同时段交替测试(每场景 5 轮 + 1 轮诊断)。网络记录:开头约 7 分钟 ping 往返 0.27–3.3 秒、丢包 33%,之后 ping 基本全丢,中间数次完全断网。两家条件相同,本节只比较"能否使用、如何降级",不比较耗时。
表 4-8固定 2G 下的可用性与降级表现(走完轮数 / 总轮数)
| 场景 | OPay | PalmPay |
|---|
| 话费 → 收银台 | 0/6:页面能打开,但本机号码、运营商、金额档位均不显示,只剩手动输入框 | 0/6:号码、运营商、6 个金额档位正常显示(本地数据);点金额后收银台接口 30 秒内无响应 |
| 流量 → 收银台 | 0/6:套餐列表不出,或选套餐后收银台进不去 | 0/6:收银台进不去 |
| 转账 | AA、AC 各 1/6 到收银台;失败时金额页快捷金额(₦500 等)不出 | 转账页 6/6 能打开(只测到转账页) |
| 交易记录 | 列表 0/4 加载出来:转圈后显示错误页和 Retry,不显示上次缓存的列表 | 6/6 能打开 |
| Betting、消息、首页滚动 | 全部正常 | 全部正常 |
| 冷启动系统首帧 | 1.39 秒(1.24–1.90) | 0.93 秒(0.90–1.54) |
| 冷启动后的首页 | 入口都在,但余额区空白、无用户名和头像,只有顶部转圈,无任何网络提示 | 用户名、头像、余额(隐藏状态)均显示,并提示"网络连接有问题,请检查网络或重试" |
| 诊断轮抓包 | 5 轮中 4 轮 0 次建连 | 每轮尝试建连 15–32 次,偶尔连通即取得数据 |
判定:两家都无法完成话费、流量支付(持平),但 OPay 在关键内容显示、网络提示、重试三方面均劣于 PalmPay,降级处理判定为不通过。推断 OPay 先检查系统"网络是否可用",判定不可用即放弃请求;系统在弱网下的判断常常滞后(本次切到 2G 后约 36 秒才判定可用)。Moniepoint 未测固定 2G(需人工解锁)。
图 4-5固定 2G:话费页(itel A50,10-22;OPay 为失败轮次)点击图片放大

OPay 页面能打开,但 15 秒内本机号码(只显示 0XX XXXX XXXX 占位)、运营商和金额档位都不出,只剩手动输入框并一直转圈;PalmPay 号码和金额档位 1 秒内即显示(本地缓存兜底)。PalmPay 手机号已打码。
4.5.3 固定 3G(10-22,同地同时段复测)
锁定首选网络为 3G(HSPA+)。实测 ping 中位 42ms、P90 46ms,160 次探测仅 1 次丢包,与 10-21 的 4G(中位 38ms)相当,并非慢网;两家 3G 与 4G 的耗时基本相同(各页面倍数中位 OPay 0.98、PalmPay 1.06)。本节价值在于两家在完全相同地点、时段下的对比。
表 4-9固定 3G 下的视觉完成(秒;中位数(最小–最大);OPay n=3、PalmPay n=5)
| 场景 | OPay | PalmPay | 3G 倍数 | 4G 倍数(4.2) |
|---|
| 话费页 | 1.47(1.46–2.97) | 1.07(0.94–1.47) | 1.4 | 1.2 |
| 选金额 → 收银台 | 1.50(1.48–2.43) | 1.33(1.28–1.48) | 1.1 | 1.1 |
| 流量页 | 1.91(1.70–5.49) | 1.07(0.97–1.55) | 1.8 | 1.6 |
| 选套餐 → 收银台 | 1.46(1.46–1.50) | 1.40(1.39–1.49) | 1.0 | 1.0 |
| 本平台转账页 | 1.20(1.18–2.15) | 1.18(0.81–1.64) | 1.0 | 1.2 |
| 转银行页 | 1.21(1.12–1.26) | 0.88(0.68–0.89) | 1.4 | 1.6 |
| 消息页 | 1.45(1.33–4.27) | 0.70(0.63–0.90) | 2.1 | 2.9 |
| Betting 页 | 1.98(1.97–2.64) | 1.08(1.04–1.65) | 1.8 | 2.1 |
| 交易列表 | 3/4 轮打不开 | 1.63(1.50–2.05),6/6 能打开 | — | 0.8 |
同地同时段下差距与 4G 基本一致(话费、流量略大,消息、Betting、转银行略小),说明差距来自 OPay 页面自身流程,而非测试时段或网络。3G 下系统首帧:OPay 本平台转账页 0.65 秒、消息页 0.63 秒,PalmPay 0.21、0.33 秒。
4.6 可用性与网络报错
表 4-10页面失败率(失败轮 / 总轮,作废轮次不计)
| 网络 | OPay | PalmPay | Moniepoint |
|---|
| 4G(10-21 两批) | 5/111(5%) | 0/79(0%) | 0/61(0%) |
| 3G(10-22,同地同时段) | 3/31(10%) | 0/48(0%) | 未测 |
| EDGE(10-21) | 未碰上 | 0/32(0%) | 0/24(0%) |
| 固定 2G(10-22,接近断网) | 32/52(62%) | 12/48(25%) | 未测 |
OPay 4G 已扣除 10-21 15:56 手机完全断网时的 3 轮。后台有压力的轮次(OPay、PalmPay 各 15 轮)均为 0 失败。
表 4-11OPay 失败场景分布(失败轮 / 总轮)
| 场景 | 4G | 3G | 固定 2G | 卡在哪一步 |
|---|
| 交易记录 | 4/12 | 3/4 | 10/10 | 列表 30 秒内未出现(转圈后错误页 + Retry,不显示缓存) |
| 本平台转账 → 收银台 | 1/12 | 0/4 | 5/6 | 4G:收银台 30 秒未出现;2G:快捷金额不出 |
| 转银行 → 收银台 | 0/12 | 0/4 | 5/6 | 快捷金额不出 |
| 话费 → 收银台 | 0/12 | 0/4 | 6/6 | 号码和金额档位不显示,收银台进不去 |
| 流量 → 收银台 | 0/12 | 0/4 | 6/6 | 套餐列表不出,或收银台进不去 |
| Betting、消息、首页滚动 | 0 | 0 | 0 | — |
图 4-6交易记录打不开(OPay,itel A50,4G,10-21 17:55;交易域名被分到问题 CDN 节点)点击图片放大

进入后一直转圈,30 秒仍无列表,30.8 秒才出现错误页(插画 + Retry),不显示上次缓存的列表。4G 下失败的 4 轮,错误页都在 30.4–30.8 秒出现。
表 4-12业务接口报错率(诊断轮抓包,自家业务域名)
| 网络 | OPay | PalmPay | Moniepoint |
|---|
| 4G(10-21 两批) | 23/534(4%) | 1/181(1%) | 5/245(2%) |
| 3G(10-22,同地同时段) | 19/227(8%) | 2/218(1%) | 未测 |
| EDGE(10-21) | 未碰上 | 21/195(11%) | 2/266(1%) |
| 固定 2G(10-22) | 11/12(全程只发出 12 个请求) | 82/91(90%) | 未测 |
根因:3 个 CDN 节点 TLS 握手无回应。把 4G、3G 全部 OPay 诊断轮按"域名 × 服务器节点"汇总,30 次 TLS 握手无回应全部落在 3 个 Akamai 节点上;同样的域名分到其他 23 个节点(Akamai 19、Cloudflare 4)时 95 次握手全部成功。问题在节点本身,而非某个域名的证书或配置。
表 4-13OPay 各域名 TLS 握手结果(有回应 / 无回应,次)
| 域名(用途) | 问题节点 | 同域名其他 Akamai 节点 | Cloudflare 节点 |
|---|
| wallet-transaction(交易记录、转账金额页) | 23.32.248.206:0 / 4;23.32.248.213:0 / 3 | 1 / 0(1 个节点) | 4 / 0 |
| wallet-ws(钱包长连接) | 23.32.248.213:0 / 9 | 11 / 0(7 个节点) | 11 / 0 |
| config-home(首页配置、广告) | 23.32.248.213:0 / 11 | 18 / 0(8 个节点) | 19 / 0 |
| api(首页业务接口) | 184.27.140.86:0 / 3 | 25 / 0(11 个节点) | 6 / 0 |
| 其他 OPay 域名 | — | 全部有回应 | 全部有回应 |
出错时间(北京时间):.213 在 10-21 14:23–14:26、17:52–17:55 和 10-22 14:09–14:16;.206 在 10-21 14:23 和 10-22 14:12–14:13;184.27.140.86 在 10-21 14:20–14:25。OPay 4G、3G 共 42 次接口报错中 30 次(71%)属此类;其余 12 次为请求无回应,集中在生活缴费域名 wallet-living(7 次),节点正常,属网络偶发。DNS 分配机制见附录 D。
4.7 接口、流量与资源
表 4-14自家接口等待(诊断轮抓包;中位 / P90,ms;轮次)
| 网络 | OPay | PalmPay | Moniepoint |
|---|
| 4G(B1) | 199 / 469(140) | 138 / 194(83) | 15 / 163(201) |
| 4G(B2) | 190 / 498(165) | — | — |
| 3G(B4) | 193 / 378(143) | 157 / 235(115) | — |
| EDGE / 2G | — | 153 / 244(68) | 16 / 170(211) |
OPay 中位与 PalmPay 接近,但 P90 高一倍,慢请求长尾更重;同样 8 个场景,OPay 自家请求轮次(140–165)约为 PalmPay(68–83)的 2 倍。Moniepoint 中位只有十几毫秒,可能与其长连接请求方式有关,连接级近似对它不一定准确,仅作参考。
表 4-15单轮流量与第三方域名(itel,4G,无压力)
| 项目 | OPay | PalmPay | Moniepoint |
|---|
| 流量页单轮流量 | 约 300 KB | 约 150 KB | — |
| Betting 页单轮流量 | 182–190 KB | 61 KB | — |
| 涉及域名数(其中第三方) | 10–13(0–1) | 约 9(5) | 约 10(6) |
OPay 流量几乎全在自家域名;PalmPay、Moniepoint 各有约 5 个第三方域名(AppsFlyer、阿里云设备风控、Singular、Mixpanel、Braze 等)。OPay 流量页、Betting 页的流量大头是单个约 235 KB / 135 KB 的接口回包(生产包传输时未压缩,见 F-14),不是广告图片;广告图片的实际下载方式见附录 C。
4.8 流畅度
表 4-16卡顿帧与帧耗时(itel,4G,无压力;Moniepoint 为 Flutter,系统帧统计测不到)
| 场景 | OPay | PalmPay | 判定 |
|---|
| 首页上下滚动:卡顿帧 | 16%(两批均为 16%) | 6–11% | 明显落后 |
| 首页上下滚动:帧耗时 P90 | 57 ms | 36–38 ms | 明显落后 |
| 交易列表滚动:卡顿帧 | 10–11% | 2–12% | 参考 |
交易列表 PalmPay 第一批列表为空,仅作参考。Infinix 上两家首页滚动卡顿帧均为 22%(帧耗时 P90 均为 32ms),无差别,说明 itel 上的差距与低端机渲染能力有关。
4.9 登录前与重新登录
表 4-17登录前与重新登录(itel,4G)
| 指标 | OPay | PalmPay | Moniepoint | 判定 |
|---|
| 首次启动(清数据后)系统首帧 | 4.75 秒 | 1.66 秒 | 5.06 秒 | 明显落后 |
| 登录前冷启动系统首帧 | 2.47 秒 | 1.01 秒 | 4.15 秒 | 明显落后 |
| 打开登录页(视觉完成) | 3.12 秒 | 0.24 秒 | 0.41 秒 | 明显落后 |
| 登录前冷启动内存(PSS) | 114 MB | 151 MB | 169 MB | 领先 |
| 退出后同机重新登录:打开 → 首页 | 39.9 秒 | 13.7 秒 | 约 47 秒 | 参考 |
| 重新登录所需验证 | 手机号 + 人脸 + 短信验证码 | 只输 PIN(记住手机号) | 未读取界面 | — |
登录前测试 27 轮,冷启动 ×5、登录页 ×3(首次启动每家 1 次);重新登录每家 1 个样本,含人工操作,流程不同,仅作参考。OPay 重新登录中无人操作的纯等待约 13.4 秒(人脸上传完到短信到达 7.5 秒,短信到达到进首页 5.9 秒)。登录页数据测于 10-20 至 10-21 上午,当时电脑与手机时钟差约为 0,未重算。
4.10 机型对照:Infinix X6531B(4GB)
表 4-18视觉完成对照(秒,中位数;4G,无后台压力)
| 场景 | OPay itel | OPay Infinix | PalmPay itel | PalmPay Infinix | 倍数 itel | 倍数 Infinix |
|---|
| 话费页 | 1.60 | 1.23 | 1.29 | 0.90 | 1.23 | 1.37 |
| 选金额 → 收银台 | 1.50 | 1.88 | 1.36 | 1.22 | 1.11 | 1.54 |
| 流量页 | 1.94 | 1.40 | 1.19 | 0.94 | 1.63 | 1.50 |
| 选套餐 → 收银台 | 1.37 | 1.47 | 1.33 | 1.27 | 1.03 | 1.16 |
| 本平台转账页 | 1.23 | 1.11 | 0.99 | 1.09 | 1.25 | 1.02 |
| 转银行页 | 1.21 | 1.06 | 0.75 | 0.61 | 1.61 | 1.74 |
| 交易列表(参考) | 1.30 | 0.86 | 1.53 | 1.52 | 0.85 | 0.56 |
| 消息页 | 1.87 | 0.75 | 0.64 | 0.58 | 2.93 | 1.30 |
| Betting 页 | 2.16 | 1.90 | 1.03 | 0.89 | 2.09 | 2.14 |
| 各页面倍数中位数 | | | | | 1.25 | 1.37 |
表 4-19冷启动、后台压力与接口(Infinix 与 itel 对照)
| 指标 | OPay itel | OPay Infinix | PalmPay itel | PalmPay Infinix |
|---|
| 冷启动系统首帧(无压力) | 1.05 | 1.28 | 1.09 | 0.66 |
| 冷启动首页内容出齐(无压力) | 6.40 | 3.73 | 4.36 | 2.33 |
| 冷启动系统首帧(有压力) | 2.49 | 1.77 | 1.68 | 1.31 |
| 冷启动首页内容出齐(有压力) | 5.88 | 4.20 | 5.35 | 3.85 |
| 有压力时各页面倍数中位数 | 1.42 | 1.15 | 1.33 | 0.91 |
| 有压力时开测前已被回收 | 15/15 | 14/14 | 15/15 | 15/15 |
| 转账页系统首帧 AA / AC | 0.74 / 0.54 | 0.53 / 0.44 | 0.17 / 0.17 | 0.17 / 0.15 |
| 自家接口等待 中位 / P90(ms) | 193 / 480 | 217 / 426 | 138 / 194 | 142 / 207 |
单位:秒(另注明者除外)。Infinix 批次 198 轮,作废 2 轮(Moniepoint 加压冷启动时测试人员在录屏窗口内输入密码);失败 3 轮均非 App 故障(2 轮营销弹窗遮挡首页、1 轮数据网络瞬断约 1.8 秒)。
- 差距不是低端机特有的:Infinix 上 OPay 各页面中位仍是 PalmPay 的 1.37 倍;流量 1.5、转银行 1.7、Betting 2.1 倍与 itel 基本一致。
- Infinix 上 OPay 冷启动首帧也落后:1.28 vs 0.66 秒(itel 上持平)。PalmPay 在更好的手机上首帧缩短约 40%,OPay 没有改善,与 OPay 启动阶段同步工作较多(4.3 节)一致。
- 转账页首帧差 3 倍,两台手机一致,与机型无关。
- 消息页差距缩小到 1.3 倍:消息页为 RN 页面,初始化主要消耗 CPU,设备越好越不明显。
- 附带观察:数据网络瞬断约 1.8 秒时,PalmPay 弹出"No Network Connection"弹窗,网络恢复后不会自动消失。
9 收银台专题:链路拆解与改法
范围:话费、流量、本平台转账(AA)、转银行(AC)四个入口,从点击到收银台出现;不输入 PIN、不付款,支付提交与结果页不在范围内。数据:生产包真机录屏、系统页面事件与诊断轮抓包(itel、Infinix,10-21~10-23),测试包接口日志(itel,10-21),线上 Faster 埋点(9/16、8/22)。
一句话结论:网络好、手机空闲时,OPay 收银台 1.0–1.5 秒出现,和 PalmPay(1.36 秒)差不多;但它走的是一条很长的串行链路——先下单 → 中转页 → 收银台页 → 新建加密连接 → 拉广告 → 才请求支付信息,至少 3 次网络请求加 1 次建连排着队走。线上网络往返更慢、手机更忙时每一环都被放大,所以 AA、AC 收银台 57% 超过 3 秒,是全 App 慢 PV 最大的来源。改法核心:支付信息提前并行取、复用连接、广告不挡路、去掉中转页、先出骨架。
9.1 线上:收银台是慢 PV 最大的来源
表 9-1收银台完整展示 >3 秒 PV 占比与慢 PV 量(线上 Faster 埋点)
| 收银台 | Android >3 秒 | iOS >3 秒 | 慢 PV(8/22) |
|---|
| 转银行(AC)收银台 | 57.2% | 24.0% | 约 598 万 |
| 本平台转账(AA)收银台 | 56.6% | 21.5% | 约 572 万 |
占比为 9/16 按有效 PV(完整展示:加载完成事件距进入页面超过 3 秒)。7/27 单日 AC 收银台一项占全部慢 PV 的 42.6%。数据引自《Faster 核心场景提速方案》,未做新的线上统计。
- Android 是 iOS 的 2.4–2.6 倍:同一套接口、同一个后端,差在 Android 端,与机型性能、后台回收后重新冷启动有关 推断,9.4 有真机实测。
- 体量最大:AA、AC 收银台是转账必经页面,PV 大、占比高,慢 PV 绝对量最大;改这一处的收益在所有页面里最高。
9.2 真机:网络好、手机空闲时与 PalmPay 差距不大
表 9-2从点击到收银台出现(视觉完成,秒;中位数(最小–最大),n;生产包,4G,无后台压力)
| 场景 | OPay | PalmPay | Moniepoint | OPay ÷ PalmPay |
|---|
| itel:话费 选金额 → 收银台 | 1.50(1.24–2.35),n=10 | 1.36(1.20–1.53),n=7 | 0.35 ¹ | 1.11 落后 |
| itel:流量 选套餐 → 收银台 | 1.37(1.24–1.65),n=10 | 1.33(1.26–1.44),n=7 | 0.27 ¹ | 1.03 持平 |
| itel:AA 核对窗口 Continue → 收银台 | 1.03(0.83–5.96),n=10 | 未测 ² | 未测 ² | — |
| itel:AC 核对窗口 Continue → 收银台 | 0.99(0.84–1.20),n=10 | 未测 ² | 未测 ² | — |
| Infinix:话费 选金额 → 收银台 | 1.88,n=5 | 1.22,n=4 | — | 1.54 明显落后 |
| Infinix:AA / AC → 收银台 | 0.81 / 0.84,n=5 | 未测 ² | 未测 ² | — |
¹ Moniepoint 的确认单是同一页面内的底部弹层,且该页面禁止录屏(画面为黑),仅作参考。² 竞品只测到转账页,没有输入金额进入收银台。收银台页系统首帧 OPay 0.26 秒、PalmPay 0.31 秒,OPay 不慢——慢在首帧之后等接口。AA 有 1 轮 5.96 秒,长尾明显。
图 9-1话费:选金额 → 收银台,OPay 与 PalmPay 同一时刻的画面(itel,4G,无后台压力;各取与中位数最接近的一轮)点击图片放大

橙框为点 ₦100 档位。OPay 0.3–1.0 秒一直停在话费页、号码行上转圈,1.60 秒收银台整块弹出;PalmPay 在话费页显示加载图标,1.36 秒弹出支付底板。两家都是"原页面等待 → 整块弹出",网络好时 OPay 只晚约 0.2 秒。手机号、余额、返现余额已打码。
图 9-2本平台转账(AA)、转银行(AC):核对窗口 Continue → 收银台(OPay,itel,4G)点击图片放大

点 Continue 后回到金额页并转圈,AA 1.08 秒、AC 1.01 秒收银台弹出。转账的下单接口在上一步(金额页 Confirm)已调用,所以这一段比话费短。收款人姓名、账号、余额已打码。
9.3 一次打开收银台,发生了什么
9.3.1 生产包:页面事件(itel,4G,各 10 轮中位数,从点击算起)
表 9-3收银台链路上的页面事件(秒)
| 节点 | 话费 | 流量 | AA | AC | 等级 |
|---|
| 中转页 PaymentActivity 启动 | 0.31 | 0.33 | 0.05 | 0.07 | 实测 |
| 收银台页 CashierActivity 启动 | 0.54 | 0.55 | 0.23 | 0.23 | 实测 |
| 收银台页首帧 | 0.74 | 0.78 | 0.39 | 0.42 | 实测 |
| 收银台出现(视觉完成) | 1.50 | 1.37 | 1.03 | 0.99 | 实测 |
| 首帧之后还要等 | 0.76 | 0.59 | 0.64 | 0.57 | 实测 |
来源:系统日志 wm_create/restart_activity、wm_activity_launch_time,与录屏同一时钟(已校正电脑−手机时钟差)。话费、流量在点击后 0.3 秒才启动中转页,这段时间在等下单接口(见 9.3.2)。收银台页首帧画出后画面上仍看不到它,内容要等支付信息 推断:页面背景透明。
9.3.2 测试包:接口时序(可看到接口名;测试包整体偏慢,只看先后顺序)
表 9-4话费:选金额 → 收银台(itel 测试包 10-21 05:44 第 3 轮,从点击算起,秒)
| 时刻 | 事件 | 说明 |
|---|
| 0.12 → 0.38 | 下单 wallet-living …/airtime/create-pre-order(249 ms) | 等它返回才离开话费页 |
| 0.71 | 启动中转页 PaymentActivity | 下单返回后又过 0.33 秒 |
| 0.97 → 1.26 | 广告 config-home …/v2/ad/list(283 ms) | 中转页发起 |
| 1.17 | 启动收银台页 CashierActivity | |
| 1.48 → 2.07 | 支付信息 api …/cashier-service/cashier/v1/get_payment_info(581 ms) | 广告返回后才发 |
| 1.48 → 1.76 | 广告 ad/list 第 2 次(266 ms) | 同一次打开调了两次 |
AA(itel 测试包 10-21 05:58 第 2 轮,从核对窗口 Continue 算起)同样:广告 4.57→4.87 秒返回后,支付信息 5.05 秒才发、5.54 秒返回;广告也调了两次。同时记录到“第一次广告返回”和“支付信息发出”的 8 轮(话费 4、AA 2、AC 2)全部是广告返回后才发支付信息 实测;流量等其余轮次日志缺了其中一个接口,无法判断。
9.3.3 生产包抓包:进收银台时要先新建加密连接
表 9-5诊断轮抓包:收银台这一步的关键请求(从点击算起,秒)
| 轮次 | 新建到 api.opayweb.com 的连接 | 支付信息请求 发 → 收完(回包字节) | 收银台出现 |
|---|
| itel 10-21 14:17 话费 | 2.15 | 2.36 → 2.68(9,563 B) | 3.00 |
| itel 10-21 17:50 话费 | 1.13(TCP 232 ms) | 1.96 → 2.72(9,700 B) | 3.26 |
| itel 10-22 14:09 话费 | 0.90 | 1.54 → 2.00(10,605 B) | 2.42 |
| Infinix 10-22 19:58 话费 | 1.07 | 1.48 → 1.91(8,136 B) | 1.99 |
| itel 10-21 17:52 AA | 0.47 | 0.69 → 0.95(7,199 B) | 0.91 |
| Infinix 10-22 20:01 AA | 0.43 | 0.91 → 1.11(7,174 B) | 1.24 |
| itel 10-21 17:53 AC | 0.57 | 0.74 → 1.11(8,028 B) | 1.50 |
实测 7/7 轮进收银台时都新建了到 api.opayweb.com 的 TCP + TLS 连接,并且同一秒内 config-home 也新建了连接——尽管它前一秒还在用已有连接 → 收银台模块很可能用的是独立的网络连接池 推断。支付信息是最后到达的回包,收银台在它收完后 0.05–0.4 秒弹出。支付信息回包 7–10.6 KB,测试包同一接口原文 8.9 KB、gzip 后 2.0 KB → 生产包未压缩(与 F-14 同类,原因待后端确认)。诊断轮开着抓包,耗时比普通轮长约 1 秒。
图 9-3OPay 话费收银台逐帧(与图 9-1 同一轮)与收银台上的动画区点击图片放大

0.30–1.20 秒画面几乎不变,只有号码行上转圈:这段时间依次在下单、启动中转页和收银台页、新建连接、拉广告、取支付信息;1.60 秒支付信息到了,收银台才整块弹出,此前没有任何骨架。最右是同一轮收银台出现 3 秒后的动画区:支付方式一栏仍有转圈(红色),与测试包"收银台常驻动画、97% 的帧超过 16 毫秒"一致。手机号、余额已打码。
9.4 为什么线上慢得多:放大因素
表 9-6话费收银台在不同条件下(视觉完成,秒;itel 未注明时)
| 条件 | OPay | PalmPay | 说明 |
|---|
| 4G、无后台压力(基准) | 1.50 | 1.36 | 差 1.11 倍 |
| 后台有压力(先打开 7 个常用 App) | 2.37(1.58 倍) | 1.57(1.16 倍) | OPay 每轮都已被系统回收,两层页面和接口都要重来 |
| 流量收银台、后台有压力 | 2.42(1.77 倍) | 1.57(1.18 倍) | 同上 |
| Infinix 4GB 手机 | 1.88 | 1.22 | 差 1.54 倍 |
| 固定 3G(同地同时段) | 1.50(1.48–2.43) | 1.33 | 差 1.1 倍 |
| 固定 2G | 进不去(0/6) | 进不去(0/6) | 两家都不可用;OPay 话费页号码、金额档位就不显示 |
| 4G 链路出错 | AA → 收银台 1/12 轮 30 秒未出现 | — | 见 4.6 |
数据来自本报告 4.4、4.5、4.10 节。
- 串行越长,网络越慢放大越多 估算:收银台关键路径上至少有 3 次排队的请求(下单 → 广告 → 支付信息)和 1 次新建连接(TCP 1 次往返 + TLS 1 次往返),合计约 5 次网络往返。真机诊断轮建连实测往返 60–230 ms;线上移动网络往返更高时,每多 100 ms 往返,收银台约慢 0.5 秒。PalmPay 在原页面等待后直接弹出底板,链路短得多 推断(PalmPay 部分请求走 QUIC,抓包看不清请求边界)。
- 手机越忙放大越多 实测:后台有压力时 OPay 收银台慢 1.58 倍,PalmPay 只慢 1.16 倍;Android 线上占比是 iOS 的 2.4–2.6 倍,与此一致。
- 真机是"最好情况":App 在前台、4G 信号好、连接刚建好,线上用户的条件只会更差。
9.5 收银台根因清单
表 9-7收银台慢的根因(按对时间的影响排序)
| 编号 | 根因 | 证据 | 等级 |
|---|
| C1 | 支付信息要等广告:get_payment_info 在 ad/list 返回后才发 | 测试包时序(9.3.2):能判断的 8 轮全部如此;生产包抓包中支付信息也总是最后发出 | 实测 |
| C2 | 进收银台时新建加密连接(收银台很可能用独立连接池) | 诊断轮 7/7 新建到 api.opayweb.com 的连接,config-home 同时重建(9.3.3) | 实测,连接池为推断 |
| C3 | 下单接口挡在跳转前:create-pre-order 返回后才启动中转页 | 测试包 0.12→0.38 下单、0.71 启动中转页;生产包点击后 0.31 秒才启动中转页 | 实测 |
| C4 | 多一层中转页 PaymentActivity | 生产包中转页 → 收银台页约 0.2 秒;测试包 0.4–0.6 秒 | 实测 |
| C5 | 广告一次打开调两次 | 测试包 24 轮中 18 轮记录到 2 次 ad/list(其余可能是日志缺失) | 实测 |
| C6 | 收银台出来前没有任何骨架,用户在原页面看转圈 | 录屏(图 9-1、图 9-3):首帧 0.74 秒已画但看不到,1.5 秒整块弹出 | 实测 |
| C7 | 常驻转圈动画 | 收银台出现 3 秒后仍在转圈(图 9-3);测试包 97% 帧超过 16 毫秒 | 实测 |
| C8 | 支付信息回包未压缩 | 生产包 7–10.6 KB,测试包 gzip 后 2.0 KB | 实测,原因待核实 |
| C9 | 后台被回收后放大更多 | 加压 1.58 倍 vs PalmPay 1.16 倍 | 实测 |
9.6 改法、预期收益与验收
下表是第 6 章 P0-6(收银台预取) 的细化,编号与《Faster 核心场景提速方案》统一;⑥ 与 P0-2(接口压缩)一起做。预期收益为估算,以改后同一套脚本复测为准。
表 9-8改法(P0-6 细化)
| 编号 | 做什么 | 解决 | 负责方 | 成本 | 预期收益 |
|---|
| P0-6 ① | 点金额 / Confirm 时就并行发起支付信息(与下单并行),或让下单接口直接返回收银台所需信息 | C1、C3 | 客户端收银台、后端 | 中 | 少 1 次排队请求:真机约 0.3–0.6 秒,线上更多 估算 |
| P0-6 ② | 收银台复用主 App 的网络连接池;进入话费、流量、转账页时预热到 api.opayweb.com 的连接 | C2 | 客户端基础 | 低 | 少 1 次建连,约 2 次往返 估算 |
| P0-6 ③ | 广告异步:ad/list 不挡支付信息,且一次打开只调 1 次 | C1、C5 | 客户端收银台 | 低 | 约 0.2–0.3 秒 估算 |
| P0-6 ④ | 去掉中转页 PaymentActivity,或不带转场直接进收银台 | C4 | 客户端收银台 | 低-中 | 约 0.2–0.5 秒 估算 |
| P0-6 ⑤ | 点击后立即弹出收银台骨架(金额、商品名本地已有),支付方式一栏加载中占位;停掉常驻转圈 | C6、C7 | 客户端收银台 | 低 | 用户立刻看到收银台;减少主线程绘制负担 |
| P0-6 ⑥ | 支付信息回包压缩(同 P0-2) | C8 | 后端 | 低 | 7–10 KB → 约 2 KB |
表 9-9收银台验收标准(同一台手机、同一套脚本复测)
| 项目 | 现状 | 目标 |
|---|
| 真机话费收银台(itel,4G) | 1.50 秒 | ≤ 1.0 秒(PalmPay 1.36 秒) |
| 真机 AA / AC 收银台 | 1.03 / 0.99 秒 | ≤ 0.8 秒 |
| 后台有压力时话费收银台 | 2.37 秒 | ≤ 1.6 秒 |
| 抓包 | 每次新建到 api 的连接;支付信息在广告之后 | 不再新建连接;支付信息与下单并行 |
| 线上 AA / AC 收银台 >3 秒占比(Android) | 56.6% / 57.2% | 相对下降 50%(建议值) |
9.7 收银台部分的局限
- 只测到收银台出现,不输入 PIN、不付款;支付提交、结果页(含支付结果页广告)未测。
- 竞品只测到转账页,转账收银台无法对比;Moniepoint 确认单禁止录屏,仅作参考。
- 生产包没有接口日志,接口名与先后顺序来自测试包;生产包只能看到域名、字节和时间(抓包不解密)。
- 诊断轮开着抓包,耗时比普通轮长约 1 秒,只用于看先后顺序。
附录
A 术语
表 A-1术语表
| 术语 | 说明 |
|---|
| AA / AC | AA:OPay 内部账户之间转账(本平台转账);AC:转到其他银行或钱包(转银行) |
| 视觉完成(VC) | 见 2.1 节 |
| 系统首帧(TTID) | Time To Initial Display,新页面第一帧绘制完成的时间 |
| 冷启动 | App 进程不存在时启动;与之相对,温启动为进程在但页面被销毁,热启动为切回前台 |
| 后台有压力 | 见 1.6 节:每轮前依次打开 7 个常用 App |
| 诊断轮 | 开启抓包的测试轮,用于接口与网络分析,不计入耗时统计 |
| PSS | Proportional Set Size,按比例分摊共享内存后的实际占用内存 |
| CDN / Akamai / Cloudflare | 内容分发网络;Akamai、Cloudflare 为 OPay 使用的两家 CDN 服务商 |
| TLS 握手 | 建立加密连接的过程;服务器不回应则请求无法进行 |
| DNS / TTL | 域名解析;TTL 为解析结果的有效期 |
| EDGE / HSPA+ | 2G / 3G 移动网络制式 |
| RN / Flutter | React Native、Flutter:两种跨平台界面框架 |
| P90 | 第 90 百分位数:90% 的样本不超过该值 |
B 数据与复现
表 B-1数据位置(相对于 临时/自动化测试_20261020/)
| 内容 | 位置 |
|---|
| 按网络量化总表(itel,校正后) | runs/三方对比_按网络量化_20261023.md |
| Infinix 批次与机型对照 | runs/三方对比_20261022_184641.md、runs/三方对比_按网络量化_infinix_20261023.md、runs/机型对比_itel_infinix_20261023.md |
| 网络报错统计(页面 × 域名 × 比例) | runs/网络报错统计_20261022.md / .csv |
| 两批明细报告 | runs/三方对比_20261021_131645.md、runs/三方对比_20261021_164405.md |
| 登录前 / 重新登录 | runs/登录前对比_20261021_合并.md、runs/三方登录对比_20261021.md |
| 方案与执行注意事项 | 竞品对比方案_V1.md(第 7、8 节) |
| 测试记录登记 | 测试记录.csv |
| 收银台专题原稿(本报告第 9 章) | 输出/OPay_收银台慢_真机链路拆解与改法_20261026_V1.html;脚本 三方对比报告_20261022/tools/cashier_chain.py、make_cashier_figs.py |
| 广告图片实际加载核对(26 个,含证据等级) | runs/广告素材实际加载_20261023.csv |
| 生产包图片与接口核实(Infinix 冷缓存抓包、首次加工测速) | runs/图片与接口下载核实_生产包_infinix_20261023.md |
| 上一份报告(OPay 根因,测试包) | 输出/OPay_真机实测_慢与ANR根因及ROI方案_20261021_V1.html |
python compare.py --device itel # 三方对比(按 App 分块,含诊断轮)
python compare.py --device itel --blocks opay:L,palmpay:L,moniepoint:L,startup_loaded --attended # 后台有压力
python compare_report.py runs/compare_*.json # 单批报告
python cross_env.py runs/compare_A.json runs/compare_B.json # 按实际网络类型量化
python cross_device.py runs/compare_itel_*.json runs/compare_infinix_*.json # 机型对照
python net_errors.py runs/compare_A.json runs/compare_B.json # 网络报错统计
C 广告图片明细与实际下载方式(测试包日志 + 生产包实测)
证据等级:实测 客户端日志、抓包字节或画面直接观测;推断 由实测数据推出、未逐张观测;待核实 尚无客户端证据。2026-10-23 更正:此前版本用后台原图计算大小,写成"原图直出、未压缩、下载量与设备无关、重复下载约 135 KB",与客户端实际行为不符,本附录已按下述实测改写。
表 C-1广告图片总体情况
| 指标 | 结果 | 证据 |
|---|
| 素材数量 | 26 个;后台原图 PNG 24、JPEG 2,合计 687 KB | 实测 |
| App 怎么请求 | 在原图地址后追加 ?x-image-process=image/resize,w_<控件像素宽>/format,webp,由华为云 OBS 现场缩放并转 WebP;测试包 17 个有日志的素材全部如此,kBox 图标直接下原图 | 实测 测试包;生产包字节吻合 |
| 实际下载量 | 有实际请求的 23 个:原图合计 655.7 KB → 720p 手机实际 207.3 KB(32%);1080p 手机估算 260.0 KB(40%) | 实测 720p;1080p 为估算 |
| 与设备的关系 | 随屏幕变化:宽度参数取控件像素宽,如 AA banner 在 720p 手机请求 w_656(16.4 KB),1080p 手机 w_984(27.3 KB);同一张图在不同控件宽度(608 / 656 / 720)下也是不同的缓存版本 | 实测 |
| CDN 与缓存 | Cloudflare + OBS 源站;Cloudflare 按含参数的完整地址分别缓存,Cache-Control: public, max-age=14400(4 小时);App 另有本地图片缓存。Cloudflare 自带的 Polish、Image Resizing 未开启,对结论无影响 | 实测 |
| 第一次加工的代价 | 手机实测(见 C.2):已缓存首字节中位 192 ms,新宽度第一次 442 ms,成对比较多 0.24 秒(中位),21 次中 3 次多 0.7–3.6 秒 | 实测 |
| App 常用宽度的缓存状态 | 7 个素材按 App 实际宽度请求,CDN 节点上 7/7 已缓存(age 1 分钟–1.7 小时):常用宽度由线上流量保持在缓存里,第一次加工主要落在新素材上线后、缓存过期后和少见屏幕宽度上 | 实测 + 推断 |
表 C-2各页面广告图片:原图与实际下载(KB)
| 页面 | 素材数 | 原图合计 | App 实际请求 | 720p 实际下载 | 1080p 估算 | 说明 |
|---|
| Rewards | 5 | 267.7 | w_720 WebP | 88.0 | 94.1 | |
| 流量 | 10 | 216.9 | w_60、w_80、w_608、w_656 WebP | 64.9 | 85.0 | 顶部 5 张轮播按生产包控件宽 608 px(宽度为推断);支付结果页 1 张未触达 |
| 转银行(AC) | 3 | 87.3 | w_80、w_656 WebP | 24.9 | 38.0 | |
| 本平台转账(AA) | 3 | 86.8 | w_80、w_656 WebP | 24.8 | 38.0 | |
| 话费 | 1 | 14.4 | — | — | — | 支付结果页,需付款才能进入,未触达 |
| Betting | 1 | 4.5 | w_80 WebP | 0.8 | 0.8 | |
| Wealth | 1 | 3.8 | w_40 WebP | 0.7 | 0.9 | |
| 首页 | 1 | 3.2 | 原图 | 3.2 | 3.2 | kBox 图标,未走缩放 |
| 多个页面 | 1 | 2.2 | — | — | — | 测试包未加载 |
表 C-3生产包冷缓存实测:各页面图片域名下行(Infinix 8.18.2.498,10-23,清空 App 缓存后依次打开,每页约 12 秒)
| 页面 | 图片域名下行 KB | 其中广告图(按实际请求)KB | 这些广告图的原图 KB | 判定 |
|---|
| 首页 | 76.7 | 3.2 | 3.2 | 含首屏图标;冷启动时并行建了 5 条 TLS 连接,之后只用 1 条,另外 4 条各握手一次(共约 24 KB)后闲置 实测 |
| 本平台转账(AA) | 52.2 | 24.8 | 86.8 | 实测 图片域名合计小于单张 AA banner 原图(67.9 KB),不可能下载原图 |
| 转银行(AC) | 55.8 | 24.9 | 87.3 | 实测 同上 |
| 流量 | 80.8 | 64.9 | 202.5 | 实测 顶部 5 张轮播在画面中(可辨认 4304),控件宽 608 px;一次回包 13,253 B = 4110 的 608 宽版本 12,864 B + 帧开销;逐张宽度为推断 |
| Betting | 9.9 | 0.8 | 4.5 | 其余为平台图标 |
| Rewards | 40.4 | — | 267.7 | 12 秒内只加载首屏;5 张 banner 全部加载时为 88.0 KB(测试包) |
图片域名为 files.opayweb.com,下行含 HTTP/2 与 TLS 帧开销。流量页顶部位置:itel 测试包(10-21)为空白、itel 生产包当时显示三重礼组件、Infinix 生产包(10-23)显示这 5 张轮播,展示内容随账号与时间变化。
图 C-1流量页顶部轮播(Infinix 生产包 8.18.2.498,10-23 冷缓存实测)点击图片放大

顶部为 5 张轮播,画面中是 4304("Claim 8 Discounts…");控件宽 608 px,按 608 宽 WebP 下载(见上表)。手机号已打码。
表 C-4广告图片明细(26 个,按原图大小降序)
| 序号 | 页面 | 广告位 code(adpCode) | 广告 / 内容 ID | 名称 | 原图格式 | 原图像素 | 原图 KB | App 实际请求 | 720p 实际下载 KB | 1080p 估算 KB | 证据 | 投放期(UTC) | 文件名 |
|---|
| 1 | Rewards | REWARDS_REFERBANNER | 5208 | — | PNG | 720×320 | 75.2 | w_720 WebP | 19.3 | 19.3 | 实测·测试包日志 | 2026-08-17 至 2026-12-15 | 88754226bb2e40a6ad6379eba5e8cdf1.png |
| 2 | 转银行(AC) | ng_ac_bottom_banner_pic | 5417 | — | PNG | 984×270 | 67.9 | w_656 WebP | 16.4 | 27.3 | 实测·测试包日志 | 2026-10-01 至 2026-10-31 | e15e2e9f927249f28ccbdced3bdd9c7d.png |
| 3 | 本平台转账(AA) | ng_aa_transfer_banner_pic | 5419 | — | PNG | 984×270 | 67.9 | w_656 WebP | 16.4 | 27.3 | 实测·测试包日志 | 2026-10-01 至 2026-10-31 | fafdf5b175f543888401d690745b9aa6.png |
| 4 | Rewards | REWARDS_REFERBANNER | 4886 | — | PNG | 720×320 | 63.6 | w_720 WebP | 20.9 | 20.9 | 实测·测试包日志 | 2026-05-21 至 2026-11-21 | 85f2933b515d4c04b2120ca8e8508ed3.png |
| 5 | Rewards | REWARDS_REFERBANNER | 5277 | — | PNG | 720×320 | 51.9 | w_720 WebP | 18.9 | 18.9 | 实测·测试包日志 | 2026-09-02 至 2026-12-02 | 64f052a912ff44c0ad622386506d94bf.png |
| 6 | 流量 | ng_mobile_data_top_banner | 5205 | — | PNG | 800×200 | 50.3 | w_608 WebP | 11.1 | 15.8 | 实测·生产包画面与字节(宽度推断) | 2026-08-17 至 2026-12-15 | 3f5485c232984f67ac576608fa9879ec.png |
| 7 | Rewards | REWARDS_REFERBANNER | 5426 | — | PNG | 720×320 | 43.4 | w_720 WebP | 15.8 | 15.8 | 实测·测试包日志 | 2026-10-01 至 2026-10-31 | 196f5c49ce23480cbf3a0b3873c45c74.png |
| 8 | 流量 | ng_mobile_data_top_banner | 4110 | — | JPEG | 800×200 | 38.6 | w_608 WebP | 12.6 | 17.3 | 实测·生产包画面与字节(宽度推断) | 2025-12-04 至 2027-03-31 | ed1329bb911cef8f28f0af4e339bce5e.jpg |
| 9 | Rewards | REWARDS_REFERBANNER | 3921 | — | PNG | 1080×480 | 33.7 | w_720 WebP | 13.1 | 19.3 | 实测·测试包日志 | 2025-12-24 至 2026-12-31 | 5c9ad7c65cfa44a6805bb89f6eff15e5.png |
| 10 | 流量 | ng_data_middle_banner | 1441 | — | PNG | 591×94 | 28.5 | w_656 WebP | 6.9 | 6.9 | 实测·测试包日志 | 2026-04-09 至 2027-12-31 | da6d19f1d234662bddad0d050abbe176.PNG |
| 11 | 流量 | ng_mobile_data_top_banner | 4890 | — | PNG | 800×200 | 24.9 | w_608 WebP | 11.4 | 16.3 | 实测·生产包画面与字节(宽度推断) | 2026-05-21 至 2026-11-21 | 2ebdae6ada574b1bb341a42aaa38c426.png |
| 12 | 流量 | ng_mobile_data_top_banner | 3185 | — | JPEG | 800×200 | 23.3 | w_608 WebP | 6.9 | 9.4 | 实测·生产包画面与字节(宽度推断) | 2023-04-18 至 2026-12-12 | 408ee3b08d64483d842287e6978e7285.jpg |
| 13 | 话费 | pay_succ_rid_airtime | 4307 | — | PNG | 800×200 | 14.4 | 未触达 | — | — | 待核实·支付结果页未触达 | 2026-01-07 至 2026-12-31 | f2b531c686bf4c4cacd7de1f9dfd817c.png |
| 14 | 流量 | pay_succ_rid_data | 4308 | — | PNG | 800×200 | 14.4 | 未触达 | — | — | 待核实·支付结果页未触达 | 2026-01-07 至 2026-12-31 | 82b963ab090a4c35bb8258d1e1cd362d.png |
| 15 | 流量 | ng_mobile_data_top_banner | 4304 | — | PNG | 800×200 | 14.4 | w_608 WebP | 7.2 | 9.8 | 实测·生产包画面与字节(宽度推断) | 2026-01-07 至 2026-12-31 | e2b97266c0494f66aedccd287fdae2fa.png |
| 16 | 转银行(AC) | ng_ac_bottom_banner_pic | 4316 | — | PNG | 800×200 | 14.4 | w_656 WebP | 7.7 | 9.8 | 实测·测试包日志 | 2026-01-07 至 2026-12-31 | 184dc463f658419385f90f63e31ad7a7.png |
| 17 | 本平台转账(AA) | ng_aa_transfer_banner_pic | 4301 | — | PNG | 800×200 | 14.4 | w_656 WebP | 7.7 | 9.8 | 实测·测试包日志 | 2026-01-07 至 2026-12-31 | a637bbfd455348e8b9f6163ba27e362f.png |
| 18 | 流量 | ng_data_middle_banner | 5025 | — | PNG | 656×104 | 11.4 | w_656 WebP | 6.7 | 6.7 | 实测·测试包日志 | 2026-09-20 至 2026-12-31 | d13bddfa9b0f46faa25acf9698ba4c0c.png |
| 19 | 流量 | ng_mobile_bottom_banner | 158 | USSD enquiry | PNG | 160×160 | 6.0 | w_60 WebP | 1.4 | 2.0 | 实测·测试包日志 | 2024-07-31 至 2026-12-31 | 020e4b5170f5f1b266d80dbc9c7df8fa.png |
| 20 | 流量 | ng_banner_data_more | 3902 | Super Voucher Package | PNG | 80×81 | 4.9 | w_80 WebP | 0.8 | 0.8 | 实测·测试包日志 | 2025-12-24 至 2026-12-31 | 37b56f579390e32596cdc826cb52142e.png |
| 21 | 转银行(AC) | ng_banner_ac_more | 3900 | Super Voucher Package | PNG | 80×81 | 4.9 | w_80 WebP | 0.8 | 0.8 | 实测·测试包日志 | 2025-12-24 至 2026-12-31 | 1739d1d1f4d38f67bfc0f71bddbb56ca.png |
| 22 | 本平台转账(AA) | ng_banner_aa_more | 3899 | Super Voucher Package | PNG | 80×81 | 4.5 | w_80 WebP | 0.8 | 0.8 | 实测·测试包日志 | 2025-12-24 至 2026-12-31 | 40a78c7a785804f958bf3bd31cc592c5.png |
| 23 | Betting | ng_banner_betting_more | 3903 | Super Voucher Package | PNG | 80×81 | 4.5 | w_80 WebP | 0.8 | 0.8 | 实测·测试包日志 | 2025-12-24 至 2026-12-31 | cefb52a9ca85f0530c1452cb8b7e3e6d.png |
| 24 | Wealth | — | widgetId=270 | Your Exclusive Rewards! | PNG | 48×48 | 3.8 | w_40 WebP | 0.7 | 0.9 | 实测·测试包日志 | — | Balance_871.png |
| 25 | 首页 | — | 359 | 金融服务_理财SafeBox自动转任务_0610 | PNG | 40×40 | 3.2 | 原图 | 3.2 | 3.2 | 实测·测试包日志(原图) | — | Gift-常规_182.png |
| 26 | 多个页面(AA、AC、流量、首页、消息、交易记录) | ng_aa_transfer_normal_banner | 271 | Transfer money to your contacts for free | PNG | 64×64 | 2.2 | 未见加载 | — | — | 待核实·测试包未加载 | 2022-07-04 至 2028-07-04 | d1fa8b7c60cf3dc64db8d234fe65b641.png |
来源:广告位 code、广告 ID 来自广告接口 config-home.opayweb.com/v2/ad/list(data.ads[].adpCode、data.ads[].ad[].id、image_url);wealth 页 1 项来自营销任务接口(data.taskList[].taskIcon),首页 1 项来自 kBox 接口(data.kBox.iconUrl),二者为内容 ID。"App 实际请求"与"720p 实际下载"取自测试包图片日志(Glide 缓存键即请求地址,记录字节数);流量页顶部 5 张按生产包控件宽 608 px 用同一地址请求得到字节数。"1080p 估算":宽度参数 × 1.5 后用同一地址实际请求得到字节数;超过原图宽度时字节与原宽版本相同,未见放大。
完整字段见 runs/广告素材清单_itel_20261021_053436.csv(后台原图)与 runs/广告素材实际加载_20261023.csv(实际请求、下载量与证据等级)。第 4 章诊断轮中广告图片已在 App 本地缓存、未出现图片下载,耗时不含图片下载。
C.1 广告后台核对(2026-10-23,同日按实际下载更正)
在营销后台"广告素材管理"中按广告 ID(后台字段 adInfoId)逐个查询上表 24 个广告(另 2 项为营销任务与 kBox 的内容素材,不在广告后台),只读查询,未做任何修改。核对内容与结论:
表 C-5广告后台核对结论
| 核对项 | 方法 | 结论 |
|---|
| 后台上传的图片与前端加载的是否同一文件 | 比对后台登记的图片地址(imageUrl)与 App 实际请求地址(测试包图片日志、生产包抓包) | 源文件相同(24/24 地址路径一致),但 App 不下载原图:请求时追加缩放参数,由 OBS 现场缩放并转 WebP(更正:此前写"前端加载的就是原图、中间没有转码或缩放"有误) |
| 后台是否登记图片大小与尺寸 | 查看素材记录的全部字段 | 后台只存图片地址,不记录也不校验文件大小、像素和格式 |
| 是否按设备下发不同图片 | 查看暗黑模式图(darkImageUrl)、多样化图片(diverseImgUrl)等字段 | 后台 24 个广告均未配置;但 App 按控件像素宽请求,不同屏幕的手机拿到不同宽度的版本(如 AA banner:720p 手机 16.4 KB,1080p 手机 27.3 KB) |
| CDN 是否按请求头返回不同大小 | 用 4 组请求头(Android App、Android 浏览器、iPhone、无 WebP 声明)各下载一次全部原图地址 | 通过 同一地址在 4 组请求头下返回字节相同,CDN 不按请求头变化;设备间的差异来自地址里的宽度参数(更正:此前写"下载量与设备无关"有误) |
| 是否存在重复上传 | 比对文件内容哈希 | 不通过 4 组共 11 个广告的图片内容完全相同,却各自是独立文件和地址(见下表) |
表 C-6内容相同但地址不同的素材(App 按地址与宽度分别下载、分别缓存)
| 组 | 广告 ID | 后台广告位 | 原图 | App 实际下载(720p / 1080p) | 重复下载量(720p / 1080p) |
|---|
| A | 5417、5419 | AC、AA 转账页顶部 banner | 67.9 KB | 16.4 / 27.3 KB(w_656 / w_984) | 16.4 / 27.3 KB |
| B | 4307、4308、4304、4316、4301 | 话费、流量支付结果页,流量页顶部,AC、AA 转账页顶部 | 14.4 KB | AA、AC:7.7 / 9.8 KB(w_656);流量页顶部:7.2 / 9.8 KB(w_608,宽度不同本来就是另一份缓存);支付结果页未触达 | 7.7 / 9.8 KB |
| C | 3902、3900 | 流量页、AC 页底部 more | 4.9 KB | 0.8 / 0.8 KB(w_80) | 0.8 / 0.8 KB |
| D | 3899、3903 | AA 页、Betting 页底部 more | 4.5 KB | 0.8 / 0.8 KB(w_80) | 0.8 / 0.8 KB |
| 合计 | 11 个广告 | | | | 25.7 / 38.8 KB(此前按原图算的 135 KB 作废) |
重复下载量 = 同组、同宽度的广告数减 1,乘以实际下载大小,即用户依次访问这些页面时多下载的量;合并为同一地址后,第二次起直接命中缓存。核对明细见 runs/广告素材后台核对_20261023.csv。
C.2 第一次加工 vs 已缓存:手机实测(2026-10-23)
表 C-7图片请求首字节时间(ms);Infinix 走 Airtel NG 数据网络,Cloudflare 判定位置 NG、节点 CDG(巴黎)
| 请求 | 次数 | CDN 状态 | 首字节中位 | 范围 |
|---|
| App 实际宽度(608 / 656 / 720)第一次请求 | 7 | HIT 7/7(age 1 分钟–1.7 小时) | 194 | 188–201 |
| 新宽度第 1 次(现场加工) | 21 | MISS 18、EXPIRED 3 | 442 | 409–3,832 |
| 新宽度第 2、3 次 | 42 | HIT 42/42 | 192 | 186–261 |
| 原图 | 14 | HIT 14/14 | 194 | 188–206 |
成对比较(同一地址第 1 次减第 2 次):中位多 242 ms(n=21),18 次在 214–315 ms,3 次为 679、757、3,641 ms。已缓存时首字节约等于网络往返(ping 194 ms),CDN 处理几乎不耗时;原图同样已缓存,首字节相同但体积是缩放版的 3–4 倍。测法:手机 Chrome 打开 files.opayweb.com 同源页面,经 adb 远程调试逐个 fetch(cache: no-store),读 cf-cache-status 与 Resource Timing;7 个素材 × 3 个随机新宽度。往返时间受这台手机的网络影响,"第一次减已缓存"的差值是 CDN 回源与加工耗时,不受影响。
C.3 大接口回包与页面完成时间(生产包诊断轮,逐帧核对)
表 C-8页面完成时间与大回包到达时间(秒,从点击算起)
| 轮次 | 页面 | 大回包 首字节 → 收完 | 视觉完成 | 首字节到达前与最终画面的差异 | 回包后出现的内容(逐帧) |
|---|
| itel 10-21 14:19 | 流量 | 0.85 → 1.79 | 2.73 | 28.9% | — |
| itel 10-21 17:51 | 流量 | 1.90 → 2.88 | 4.13 | 29.6% | 套餐列表连同返现在回包之后出现(约 4.1 秒,三重礼组件 3.4 秒先出) |
| itel 10-22 14:10 | 流量 | 1.15 → 1.72 | 3.02 | 27.6% | — |
| Infinix 10-22 19:59 | 流量 | 2.17 → 4.53 | 4.71 | 24.5% | 套餐列表 2.0 秒已出(无返现);回包收完后每个套餐出现"₦0.50 Cashback"等返现,随即定格 |
| itel 10-21 14:25 | Betting | 0.81 → 1.26 | 2.46 | 17.1% | — |
| itel 10-21 17:56 | Betting | 1.44 → 2.09 | 3.01 | 5.7% | — |
| itel 10-22 14:15 | Betting | 1.26 → 1.74 | 2.71 | 5.8% | 金额格子 1.2 秒已出(无折后价);回包收完后 0.1 秒出现"Pay ₦90"等折后价与推荐活动;定格由 2.6 秒的 Hot Offers 横条决定 |
| Infinix 10-22 20:05 | Betting | 0.67 → 1.01 | 1.99 | 5.6% | — |
实测 时间均换算到电脑时钟并校正时钟差,与第 4 章视觉完成同一算法;诊断轮开着抓包,耗时比普通轮略长,但先后关系不受影响。结论:流量页 4/4 轮画面定格都在大回包收完之后;返现(流量)、折后价(Betting)要等回包才显示,套餐列表、金额格子等核心内容不一定等它。回包下得慢时,完整展示整体推后(Infinix 10-22 一轮下载 2.4 秒)。测试包里该接口经 gzip 只有十几 KB、返回很快,无法反映这一影响。
图 C-2大接口回包前后的画面(生产包诊断轮,逐帧)点击图片放大

上:Infinix 10-22 流量页,2.03 秒套餐列表已出但没有返现,回包 4.53 秒收完后每个套餐出现"₦0.50 Cashback"等返现;下:itel 10-22 Betting 页,1.20 秒金额格子已出但没有折后价,回包 1.74 秒收完后出现"Pay ₦90"等折后价与推荐活动。手机号已打码。
另见 F-14:同一次核实中发现,流量页、Betting 页每次打开都有一个约 235 KB / 135 KB 的接口回包(生产包 5/5 轮),测试包同类接口 gzip 后只有 12.7 / 6.1 KB;这两页单轮流量偏大的主因是它,而不是广告图片。
D CDN 与 DNS 分配机制
受影响域名在 OPay 的 DNS 中各配置两个别名:*.edgesuite.net(Akamai)和 *.cdn.cloudflare.net(Cloudflare)。手机每次解析域名时,DNS 从两个别名中选一个返回。10-21 两批诊断轮中可看出分配结果的解析共 24 次:wallet-ws 分到 Akamai 9 次、Cloudflare 7 次;wallet-transaction 各 4 次。
- 分配接近随机,约各占一半,几分钟内即会切换,看不出按地区或用户固定分配;具体比例可在 opayweb.com 的 DNS 后台查看。
- 对单个用户在一段时间内固定:DNS 结果有效期约 30 分钟,被分到问题节点的用户会连续约半小时打不开交易记录,之后可能恢复,这是"时好时坏、难以复现"的原因。
- 只有少数 Akamai 节点有问题:23.32.248.206、23.32.248.213、184.27.140.86,以及 10-23 在 wallet-living 上新发现的 2.20.13.133;分到其他 Akamai 节点(如 23.32.248.215)时正常。
- 判断方式:IP 为 23.32.x.x、184.27.x.x 的是 Akamai,104.16.x.x、104.17.x.x 的是 Cloudflare。
E 修订记录
表 E-1修订记录
| 版本 | 日期 | 主要变更 |
|---|
| V1 | 2026-10-22 | 首版:itel 4G 两批三方对比、后台压力、EDGE 偶发数据 |
| V2 | 2026-10-22 | 补充"后台有压力"的定义与实测效果、设备安全配置接口核查、广告 ID 与素材表 |
| V3 | 2026-10-22 | 新增固定 2G 测试、CDN 与 DNS 分配机制、生产包冷启动与登录的安全配置接口核查 |
| V4 | 2026-10-22 | 新增固定 3G 同地同时段对比、网络报错统计(页面层与接口层) |
| V5 | 2026-10-23 | 视觉完成加入电脑−手机时钟差校正并全部重算;冷启动首页改按"内容出齐"计;新增 Infinix 机型对照 |
| V6 | 2026-10-23 | 按专业测试报告结构重排:报告信息表、指标定义与统计口径、判定规则与结果判定总表、执行统计与偏差记录、问题清单(含严重程度)、残余风险与局限、术语表;数据与 V5 相同。同日补充:附录 C 广告素材明细(26 个,含广告位 code 与广告 ID)与广告后台核对,新增问题 F-13、建议 P1-6 |
| V6(更正) | 2026-10-23 | 真机核实后更正:App 请求 OBS 按控件宽度缩放的 WebP,并非原图(原"未压缩、下载量与设备无关、重复下载 135 KB"作废);F-10、F-13、P1-4、P1-6 按实测改写;新增 F-14 / P0-2(流量页、Betting 页大接口回包生产包未压缩;逐帧核对返现、折后价要等它,见附录 C.3);F-01、P0-1、附录 D 补充 wallet-living 问题节点 2.20.13.133;附录 C 新增生产包冷缓存抓包、首次加工耗时实测与证据等级;建议编号与 Faster 报告统一:接口压缩按投入产出提到 P0-2,原 P0-2~P0-5 顺延为 P0-3~P0-6 |
| V6(配图) | 2026-10-25 | 关键结论旁补充录屏截图(共 11 张,均已打码,点击可放大):视觉完成与冷启动终点的判定示意、三家同一时刻对比(流量、Betting、消息、转账)、固定 2G 话费页、交易记录失败页、执行阻碍弹窗、流量页顶部轮播、大回包前后的返现与折后价 |
| V7 | 2026-10-26 | V6 全文 + 收银台专题并入为第 9 章(线上数据、三家对比、链路拆解、诊断轮抓包、放大因素、根因、P0-6 ①–⑥ 与验收;含 3 张打码截图);第 0 章补收银台结论 |