惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
T
Tailwind CSS Blog
博客园_首页
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
J
Java Code Geeks
量子位
D
DataBreaches.Net
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
C
Check Point Blog
V
Visual Studio Blog
H
Help Net Security
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta

InfoQ - 促进软件开发领域知识与创新的传播

Meta 收购 Manus 这事儿泡汤了 5.5万 Star 开源项目 Ghostty 被迫出走,GitHub 正在终结一代技术人的乌托邦 Slack 长时运行多智能体系统的上下文管理方案 从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台 谷歌云推出 Agents CLI,简化 AI 智能体开发全流程 Claude官方击穿高薪、高学历的安全防线!Anthropic点名10大高危职业,但有群人暂时稳了 亚马逊云科技终止 WorkMail 服务,并将 App Runner 转入维护模式 OPPO小布记忆:全模态碎片化内容的理解与智能整理实践|AICon上海 模力工场038周AI应用周榜:工具在消失,工作流在出现 Akamai CEO Tom Leighton:Agent 时代来临,云基础设施正从“中心化”转向“分布式边缘” 日均数百亿入库背后:从“人肉调度”到K8s弹性架构,度小满金融基于OceanBase重构入库架构实践 百度文库网盘发布GenFlow 4.0:月活用户超1亿,要把网盘变成全端AI工作台 Altman 投的 Agent 终端 Warp 开源了!斩获3.5万star 哪些客户需要拒, 敢让龙虾决定吗?_AI&大模型_InfoQ 中文站_InfoQ精选视频 从开发到生产:为什么越来越多的机器学习团队纷纷迁移到 Snowflake | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 探索多智能体工作流:LangGraph Snowflake Cortex AI | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 腾讯云分布式缓存数据库:AI Agent - 从提示词工程到 Harness 工程 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 基于 Streamlit 为 CSV 数据构建分析智能体 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 AI 智能体:告别文档缺漏 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 构建 AI 驱动的数据管道:深度探讨 Snowflake Openflow 与非结构化数据 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 云端太贵、本地不够聪明,英特尔押注“端云混合AI”:智能体PC会替人完成工作 不到10%的存储投入,可能拖垮90%的GPU投资!IBM把AI Agent塞进存储系统,算清企业最容易忽略的一笔账 Snowpark 上手实战 | BUILD 2025_大数据_王玮_InfoQ精选视频 ClickHouse + Langfuse,构建 Agent 可观测基石 腾讯云分布式缓存数据库:Cluster Proxy 共享连接架构深度解析 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 AI 写代码太烧钱了:Copilot、Claude 一起涨价,不如把程序员请回来? 英特尔发布至强600系列工作站处理器与锐炫Pro B70 GPU,全新AI工作站来了 腾讯云分布式缓存数据库:从 Redis 到 Valkey - 开源社区如何快速创新 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 印奇这次要“从0重做”智驾模型!首谈阶跃和千里双公司布局:中国AI商业闭环要靠车跑出来 从Cursor返聘归来,90后华裔女高管带Claude开启日更模式:token成本比工程师工资低多了!
Google发布Room 3.0:Kotlin优先、异步、多平台持久化库
作者:Sergio De · 2026-05-05 · via InfoQ - 促进软件开发领域知识与创新的传播

Room 3.0是Android持久化库的一次重大更新,在多个关键领域引入了破坏性的变更。新版本聚焦于围绕 Kotlin Multiplatform 现代化 Android 持久化层,并将平台支持扩展到 JavaScript 和 WebAssembly。

Room 3.0 最大的变化是将不再生成 Java 代码,而只生成 Kotlin 代码。开发团队表示,这简化了代码库和开发流程,使迭代速度更快。

随着 Java 代码生成功能被移除,Room 3.0 也不再支持 Java 注解处理(AP,Java Annotation Processing)和 KAPT:

Room 3.0 仅作为 KSP(Kotlin Symbol Processing)处理器运行,从而可以更好地处理 Kotlin 代码库,不再受 Java 语言的限制。

因此,Room 3.0 要求使用 KSP 和 Kotlin 编译器,即便是纯 Java 代码库也不例外。官方建议在这种情况下把 Room 使用隔离在一个独立模块中,这样“就可以应用 Kotlin Gradle Plugin 和 KSP,而不影响其余代码库”。

从架构角度看,还有两项值得注意的破坏性变更:移除 Android 原生 SQLite 数据库 API(SupportSQLite),以及采用协程优先的模型。Room 3.0 不再依赖仅限于 Android 的 API,而是使用兼容 KMP 的androidx.sqlite驱动API,从而无需维护两套 SQL 后端,简化了开发。

采用Kotlin coroutines后,Room 3.0 可实现完全异步的操作。因此,库生成的所有DAO函数(如插入、删除、查询)都定义为suspend。或者,它们也可以返回基于Kotlin Flow的反应式类型,按照顺序发布多个值。

为帮助开发者更容易迁移到 Room 3.0 并摆脱 Android 原生 SQL API,Room 2.8.0 引入了androidx.room:room-sqlite-wrapper。该 artifact 提供了兼容层,可把RoomDatabase转换为SupportSQLiteDatabase

这为需要更多时间才能完成代码库迁移的开发者提供了临时桥接。该 artifact 在 Room 3.0 中会继续以 androidx.room3:room3-sqlite-wrapper 的形式存在,以支持迁移到 Room 3.0 的同时继续兼容关键的 SupportSQLite 用法。

如前所述,Room 3.0 还把平台支持扩展到了 JavaScript 和 WasmJS。这也带来了一些破坏性的变更,为了正确支持天然异步的 Web 存储,许多 Room 3.0 函数现在都变成了 suspend 函数。

SQLiteDriver API 已更新以支持 Web,并在 androidx.sqlite:sqlite-web 中提供了新的 Web 异步驱动。它是一个基于Web Worker的驱动,可将数据库持久化到源私有文件系统(OPFS,Origin private file system)。

随着 Room 3.0 发布,Room 2 进入了维护模式。在 Room 3.0 稳定之前,Room 2 仅会基于 2.8.0 接收补丁版本,范围限于缺陷修复和依赖更新。

原文链接:

Google Introduces Room 3.0: A Kotlin-First, Async, Multiplatform Persistence Library