Repository navigation
⚡ v1.9.0:速度优化(点完就出)
先量后改。把延迟拆开看(真接口 + 同款 HttpURLConnection 客户端):
| 花在哪 | 实测 |
|---|---|
| 客户端建连接(连接池冷) | 830~873ms(只有冷启动那一次) |
| 客户端建连接(复用已有连接) | 9~14ms |
| 服务端算完(首字节) | 250~330ms ← 唯一的大头 |
| 服务端抖动尖刺 | 1.5~1.8s(约 3%) |
顺手证伪了两条看起来该做的"优化",省得白折腾:
- 砍问题不省时间:只问 3 题 283
314ms,问满 7 题 291295ms,噪声级别。 - 省握手没用:TLS 会话复用本来就在,连接复用时握手只要 9ms。
于是只做「把等待藏起来」
| 改动 | 实测效果 |
|---|---|
| 预判:长按弹出菜单那一刻就发请求 | 冷启动第一次 1144ms → 点「意图」只等 9ms |
连接复用:成功后不再 disconnect() |
第二次起握手 873ms → 14ms |
| 结果缓存:同一条消息再看秒回(上限 40 条) | 第二次 0ms、0 次调用 |
| 空答案重试等待 600ms → 120ms | 最坏少等 480ms |
| 分段计时日志 | 握手 Xms + 服务端 Yms = 共 Zms,真机可自查 |
「预判」的代价:如果你点了「关系=…」而不是「意图」,这次调用就白花了。
点「意图」这条常见路径调用次数不变(预判那次就是正式那次),只是把 300ms 挪到了你挑菜单的时候。
想省调用:设置.properties里把「预判」改成B(或config.properties里prefetch=0)。
新增
- 3 个设置项:预判 / 结果缓存 / 耗时日志(
设置.properties里 A/B/C 切换) test/test_speed.bsh:真调接口验证连接复用(第二次握手应 <80ms)、预判取回、缓存 40 条上限
安装
解压后把 main.java、info.prop 拷到手机插件目录:
/storage/emulated/0/Android/media/com.tencent.mm/FkWeChat/Plugin/JevIntent/
(已有配置的话保留你自己的 config.properties 和 设置.properties)