Compose BOM 2026.01.01 上新:1.10.2 稳定补丁 + Material 3 1.4.0 重点能力梳理

87 阅读4分钟

Compose BOM 2026.01.01 上新:1.10.2 稳定补丁 + Material 3 1.4.0 重点能力梳理

前言

如果你在 Android 项目里使用 Jetpack Compose,BOM(Bill of Materials)是最稳的版本管理方式之一:

  • 只声明一个 BOM 版本,Compose 相关依赖就能自动对齐。
  • 降低“某个模块偷偷升了版本,结果运行时出问题”的概率。

截至 2026-02-06,Compose 官方文档中的示例 BOM 已更新到:

  • androidx.compose:compose-bom:2026.01.01
  • androidx.compose:compose-bom-alpha:2026.01.01
  • androidx.compose:compose-bom-beta:2026.01.01

这篇文章按“前言 → 版本速览 → 模块更新 → 迁移建议”的结构,快速讲清楚这个版本值不值得升、升了要注意什么。


Compose BOM 2026.01.01 速览

1)一句话结论

2026.01.01 是一个稳定补丁聚合版本

  • 核心 Compose 组(animation/foundation/runtime/ui)对齐到 1.10.2
  • material3 对齐到稳定版 1.4.0
  • material3.adaptive 对齐到 1.2.0

2)关键映射(官方 BOM Mapping)

Compose 组代表 ArtifactBOM 对应版本发布说明
Animationandroidx.compose.animation:animation1.10.2developer.android.com/jetpack/and…
Foundationandroidx.compose.foundation:foundation1.10.2developer.android.com/jetpack/and…
Runtimeandroidx.compose.runtime:runtime1.10.2developer.android.com/jetpack/and…
UIandroidx.compose.ui:ui1.10.2developer.android.com/jetpack/and…
Material (M2)androidx.compose.material:material1.10.2developer.android.com/jetpack/and…
Material3androidx.compose.material3:material31.4.0developer.android.com/jetpack/and…
Material3 Adaptiveandroidx.compose.material3.adaptive:adaptive1.2.0developer.android.com/jetpack/and…

时间点参考:1.10.2 发布于 2026-01-28material3:1.4.0 发布于 2025-09-24


主要更新(你真正会感知到的)

1)Animation 1.10:共享元素能力明显增强

虽然 BOM 映射到的是 1.10.2(补丁版),但 1.10 周期里动画能力升级很实用:

  • Shared transition APIs 在 1.10 正式稳定。
  • 新增 Modifier.skipToLookaheadPosition(),可在共享过渡中直接跳到目标位置。
  • 支持动态启用/禁用 shared elements。
  • 支持共享元素过渡的初速度(fling 场景更自然)。
  • AnimatedVisibility / AnimatedContent 增加 veil layer 动画能力。

适用场景:详情页转场、卡片到全屏、图库过渡等“空间连续性”动画。

2)Foundation 1.10:性能和稳定性继续收敛

值得关注的两类变化:

  • 性能方向isPausableCompositionInPrefetchEnabled 在 1.10 周期默认启用,Lazy 列表预取更平滑、主线程压力更可控。
  • 稳定性方向1.10.2 修复了文本选择相关的崩溃(例如页面返回时有活动选区)。

如果你有长列表 + 重 Item 组合,升级后通常更容易获得稳定帧率。

3)Runtime 1.10:retain 体系成熟,补丁版更稳

Runtime 1.10 周期中,RetainedValuesStore 相关 API 经历了整理:

  • 更强调通过 provider/registry 管理 retained values。
  • 自定义 retained store 的接入方式有迁移成本(命名和安装方式变化较多)。
  • 1.10.2 主要是补丁整合,重点在稳定性。

如果你只是“正常使用 retain”,改动通常不大;如果你实现了自定义 store,建议对照 release notes 逐项迁移。

4)UI 1.10:焦点、测试与 Popup 行为更一致

1.10 周期里 UI 侧有几项很实用:

  • 焦点分发优化(降低复杂焦点树下的额外开销)。
  • 间接触控 API 命名统一到 indirect pointer 体系。
  • Compose UI Test 对 effectContextStandardTestDispatcher 支持更清晰。
  • 1.10.1 修复了 LookaheadScope + pausable composition 崩溃,以及 PopupPositionProvider 坐标计算问题。

如果你的项目有 TV/键盘焦点、复杂 Popup 定位、或 UI 测试稳定性问题,这部分收益会比较明显。

5)Material3 1.4.0:组件能力升级最明显

material3:1.4.0 的变化量很大,重点看这几类:

  • 图标策略变化:不再推荐 androidx.compose.material.icons 作为主路径;且 Material3 不再自动依赖 material-icons-core
  • 行为调整NavigationBarItem / NavigationRailItem 的 active label 颜色策略有调整。
  • 动效体系:组件开始采用 MotionScheme
  • 新组件/能力
    • HorizontalCenteredHeroCarousel
    • VerticalDragHandle
    • SecureTextField / OutlinedSecureTextField
    • Text 支持 autoSize
    • TimePickerDialog
    • 新的 SearchBar API 拆分与状态控制

结论:如果你正在做 Material3 设计系统迭代,这一块是 BOM 2026.01.01 最值得关注的部分。


升级示例

1)Gradle Kotlin DSL

dependencies {
    val composeBom = platform("androidx.compose:compose-bom:2026.01.01")
    implementation(composeBom)
    androidTestImplementation(composeBom)

    implementation("androidx.compose.ui:ui")
    implementation("androidx.compose.ui:ui-tooling-preview")
    debugImplementation("androidx.compose.ui:ui-tooling")

    implementation("androidx.compose.material3:material3")

    androidTestImplementation("androidx.compose.ui:ui-test-junit4")
    debugImplementation("androidx.compose.ui:ui-test-manifest")
}

2)如果你用 Version Catalog

libs.versions.toml 中把 BOM 改到:

[versions]
compose-bom = "2026.01.01"

[libraries]
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }

迁移与排坑建议

1)检查图标依赖

如果你之前“隐式”用到了图标,升级后建议显式声明:

implementation("androidx.compose.material:material-icons-core")

2)检查 retain 的自定义用法

有自定义 RetainedValuesStore 的项目,重点回看 Runtime 1.10 的 API 变更。

3)回归测试建议

  • 重点回归 Popup 定位、文本选择、导航返回。
  • UI 测试项目可逐步尝试 StandardTestDispatcher,减少与生产调度模型差异。

4)版本策略建议

如果你追求稳定,优先跟 BOM 稳定版; 如果你要抢新特性(尤其 Material3 1.5.x alpha),建议单独分支验证再合入主干。


小结

Compose BOM 2026.01.01 的定位很清晰:

  • 1.10.2 把核心栈稳定性再打磨一轮;
  • 让 Material3 1.4.0 的能力成为稳定可用基线。

对大多数业务 App 来说,这个版本属于“可以计划升级,并且收益可见”的一档。


参考链接