Skip to content

v1.5.6

Choose a tag to compare

@github-actions github-actions released this 30 Aug 11:12
· 53 commits to main since this release

[1.5.6] - 2026-08-30

🐛 修复

  • 长时间运行后 UI 卡顿(键盘输入/键盘动画明显掉帧):APRS 运行越久、台站越多越卡,且停止收包后卡顿仍然存在。根因是每秒 tick 对全局 AppState 全量 _notify(),导致 IndexedStack 内全部页面每秒重建并反复重算几百个台站数据,地图 Marker 每秒全量重建;收包越多、运行越久,GC 与主线程压力越大

🎨 优化

  • 渲染与数据隔离:地图可见台站列表 / Marker 缓存按台站数据版本隔离——台站没变化时每秒 tick 不再重建任何 Marker;台站位置/状态/符号真正变化时仍即时刷新
  • 秒级刷新解耦:每秒 tick 改为独立通知器,只刷新信标倒计时、收包速率等秒级 UI,不再重建整个页面树
  • 台站页流式加载:台站列表改为只订阅台站数据流(stationsStream),连接/消息/GPS/设置等无关变化不再触发整页重建
  • 页面子树记忆化:主页重建不再连带重建全部 5 个页面,键盘动画期间不再每帧全量重建
  • 台站统计缓存:在线/移动/静止计数按台站版本惰性计算,避免每次重建全量扫描
  • 台站列表 key 抖动修复:移除每 5 秒整行重播入场动画的问题,「X秒前」改为独立秒级刷新
  • 地图标记渲染:矢量 / 高德 JS 地图按台站版本复用 Marker,不再每秒把全部台站 JSON 全量推给 JS