-
麦动KTV V1.5.1 Stable
released this
2026-09-26 22:34:06 +08:00 | 19 commits to master since this release麦动KTV V1.5.1
本次从 1.4.7 直接升级到 1.5.1,中间 1.4.8 ~ 1.5.1 的修复全部包含。
⚠️ 本版本号已于发布后撤回并重新发布(修复"切歌→公放在老设备卡死"),
请以本次附件为准(内部versionCode 33)。本版修复:点歌列表「切歌」到公放列表时,老设备(极米 H1S)卡死
新设备正常、老设备卡死,排查出三个叠加原因,都属于"新设备看不出来、老设备致命":
-
切歌任务排在长任务后面:切歌用的是 4 线程的公共线程池,而"点歌即下即播"这类几十秒的
长任务也在同一个池里。老设备网速慢,并发点几首歌就把池占满,切歌任务一直排队 ——
表现就是按了切歌不动、旧歌播完后没声。
→ 切歌/随机续播改用专用线程,与下载彻底隔离。 -
切歌时现扫目录找候选:候选列表的构建代价是"每个文件在头尾各读约 4.3MB 做格式校验",
并且会遍历外置存储各挂载点(老 ROM 上的失效挂载点可能让目录列举永久阻塞)。
→ 改为启动时后台预热候选缓存(带超时保护),下载完成即时补充,切歌直接读缓存(零 I/O)。 -
主线程上做深度文件校验:判断"本地是否有可播文件"的接口会真实读取文件头尾各 4.3MB,
却被用在播放、播放错误回调、以及列表逐行渲染里 —— 老设备的慢存储上每次都是数秒卡顿
(直接 ANR)。
→ 播放/渲染路径改为只看文件存在与大小的廉价检查,深度校验只保留在后台。
同版本内已包含的历史修复
- 点歌最后一首按「切歌」后卡死:原逻辑清空了播放状态却没停播放器,导致那首歌播完后回调被
丢弃、再也无法推进。现改为在点歌清单最后一首上按切歌 → 直接转入公放;其它情形保持原逻辑;
公放清单与点歌清单互不影响。并且所有"清空播放状态"的出口都补齐了显式停播。 - 公放时按「切歌」没反应:上一版启动清理把整个歌曲缓存目录删了(该目录同时就是公放曲库)。
现改为只清理"多首不同歌曲内容完全相同"的注入广告副本,正常歌曲绝不动。 - 广告视频被当成歌曲播放(
gz.ac16.vip):建立统一的可信地址闸门,任何来源的播放地址都要
通过校验(非 http(s) / 广告域名或路径 /.ts文件名与点歌编号不符 一律拒绝),并附回归测试。 - 启动被误判成"断网恢复":启动瞬间不再执行重建会话等恢复动作,状态栏也不会错显"网络已恢复"。
- 点歌取址白等 15 秒:桥一旦判定不可用即记住,后续点歌取址降到 0.3~0.7 秒。
- 老设备(极米 H1S / GMUI2.0 / Android 5.1.1)累计修复:该机型此前所有版本都打不开 ——
启动闪退(存储根目录写死)→ 无法下载曲库(老系统不认 Let's Encrypt 新证书链)→
下载卡死/极慢(高频进度回调压死主线程)→ 点歌"无法生成下载地址"(该机 WebView 为 Chrome 39,
脚本无法解析)。现已可正常点歌播放。
说明
versionName 1.5.1/versionCode 33,签名与历史版本一致,可直接覆盖安装。- 双 ABI:
armeabi-v7a+arm64-v8a。 - 首次安装需下载曲库约 430MB(解压后约 1GB),请预留约 1.5GB 可用空间。
Downloads
-