Skip to content

JevIntent v1.9.0 · 速度优化(点完就出)

Latest

Choose a tag to compare

@Nisaka520 Nisaka520 released this 22 Sep 18:13
· 2 commits to main since this release

⚡ v1.9.0:速度优化(点完就出)

先量后改。把延迟拆开看(真接口 + 同款 HttpURLConnection 客户端):

花在哪 实测
客户端建连接(连接池冷) 830~873ms(只有冷启动那一次)
客户端建连接(复用已有连接) 9~14ms
服务端算完(首字节) 250~330ms ← 唯一的大头
服务端抖动尖刺 1.5~1.8s(约 3%)

顺手证伪了两条看起来该做的"优化",省得白折腾:

  • 砍问题不省时间:只问 3 题 283314ms,问满 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)