Skip to content

r14.2.9

Choose a tag to compare

@tomthenpc tomthenpc released this 23 Jul 12:58

r14.2.9 — r14.2.x 系列合并整理

发布日期:2026-07-23。状态:稳定版(r14.2 系列唯一发布,完整重启验证通过)

本版本合并 r14.2.1–r14.2.8 的全部热路径优化、生命周期治理、无效 Hook/监听清理与绘制缓存,作为 r14.2 系列唯一稳定发布。r14.2.0、r14.2.4、r14.2.7 的历史内容已整合到本版本中。

生命周期与线程调度

  • StepCounterController.initContext 改为静态持有 TIME_TICK 广播接收者,重复进入(如 SystemUI 重建)时先注销旧接收者再注册新接收者,防止接收者泄漏与重复查询步数。
  • StepCounterControllerHandler 改用 mContext.getMainLooper(),避免在无线程 Looper 的 Hook 线程上创建 Handler 失败。
  • StepCounterController.removeStepViewByTag 改用 ArrayList.removeIf(),消除 for 循环中 remove() 可能触发的并发修改异常。

绘制热路径

  • BatteryIndicator.updateDisplaySize 缓存 mDensitymStatusBarHeightupdateDrawable 不再每次绘制时查询 Resources.getDisplayMetrics() 和解析 status_bar_height 资源 ID。
  • BatteryIndicator.updateParameters 移除每次调用时新建的 Matrix 对象,改为 setImageMatrix(null) 复用默认矩阵。

构建产物验证

  • versionCode 127 / versionName r14.2.9。
  • APK:CustoMIUIzer-A14-r14.2.9.apk,2,886,165 B。
  • SHA-256:dabc71b2e5b5353f03ddf2ba513567888b6f87fc8f71994c3122dc3304cf6e10
  • 通过 gradlew testgradlew assembleRelease;3 项单元测试通过,lintRelease 0 错误、既有 ROM API 兼容性警告保持。
  • 签名证书与 r14.2.7 一致,可直接覆盖升级。

r14.2.8 累积变更

热路径与偏好监听

  • MainModule 偏好变化监听不再每次调用 sharedPreferences.getAll() 复制整个远程偏好表,改为根据 PrefMap 中已有值类型直接调用 getBoolean/getInt/getString/getLong/getFloat/getStringSet 单次读取;未命中或新键时回退到 getAll(),显著降低设置项调整时的内存与 CPU 开销。
  • GlobalActions.setupStatusBar 内的 MiuiFreeformModeController(PinningWindow,动作码 28)、SoScSplitScreenController(SplitScreen,动作码 29)与 AutoBrightnessController(ToggleAutoBrightness,toggle 6)Hook 不再在任意自定义动作开启时全部注册,仅在对应动作被配置时才注册,进一步减少 com.android.systemui 中的无效 Hook 与 BroadcastReceiver。

无效/失效代码清理

  • 移除 GlobalActions.mSBReceiver OpenVolumeDialog 分支内被错误嵌套、永远不会执行的 ToggleZenMode / ToggleNightMode 子分支;这两个动作已由顶层分支正确处理。