• 1.6.0 471d8310d7

    lxh2875931338 released this 2026-07-21 00:06:10 +08:00 | 11 commits to main since this release

    [1.6.0] - 2026-07-20

    新增

    • 魅族 21 Note 机型适配:新增 21 Note 特征字识别,设计容量 5500mAh

      • 21 Note 运行 Flyme 12.6 版本,日志格式与 21 系列一致
      • 支持 learned_cap 字段直接读取,与 21 / 21 Pro 逻辑相同
      • 已加入 DeviceMatching 机型映射表
    • 更新日志页面:内置 CHANGELOG.md 渲染,版本历史一目了然

      • 使用 flutter_markdown 解析,支持标准 Markdown 格式
      • 滚动进度条:实时显示阅读进度,提升浏览体验
      • 进入页面自动请求 120Hz 高刷新率,滑动更流畅(Flyme LTPO 适配)
      • 滚动时呼吸动画维持高刷感知,停止后自动恢复省电策略
    • AppBar 菜单重构:刷新按钮左移,右侧新增三点菜单

      • 更新日志:已可用
      • 深色模式:占位(1.7.0 实现)
      • 关于:占位(1.7.0 实现)
    • 原生层高刷控制:新增 MethodChannel 通道,支持 Dart 侧动态申请/释放 120Hz

      • 进入更新日志页面自动触发
      • 退出页面自动释放,不影响系统省电策略

    已确认完美支持(更新)

    机型 容量来源 设计容量
    魅族 20 / 20 Pro / 20 INFINITY remaining_cap + status=Full 4700 / 5000 / 4800 mAh
    魅族 21 / 21 Pro learned_cap 4800 / 5050 mAh
    魅族 21 Note(新增) learned_cap 5500 mAh

    优化

    • UI 拆分:将 BatteryHealthPage 的 UI 部分抽离至独立文件,降低耦合度
    • 动画简化:移除复合动画控制器(AnimationController),改用轻量 AnimatedOpacity 控制充电条目显隐
    • 更新日志性能:缓存 Markdown 渲染结果,避免重复解析
    • LTPO 适配:通过进度条微动 + 原生层 preferredRefreshRate,解决更新日志页面降频卡顿问题

    🐛 修复

    • 修复更新日志页面因 ListView + shrinkWrap 导致的 unbounded height 渲染异常
    • 修复充电条目动画状态残留导致的显示异常
    • 修复部分 TextStylecolorforeground 混用导致的渲染断言错误

    📊 影响范围

    • device_matching.dart:新增 21 Note 机型映射
    • battery_health_page.dart:AppBar 重构,动画简化
    • battery_data_layout.dart(新增):UI 布局抽离
    • changelog_page.dart(新增):更新日志页面
    • MainActivity.kt:新增原生高刷控制通道
    • pubspec.yaml:新增 flutter_markdown 依赖,添加 assets/CHANGELOG.md

    📌 备注

    • 已在魅族21 Note Flyme 12.6 上测试通过,日志解析正常
    Downloads