外观
如何在 DataStore 中实现原子性更新操作?
标准回答
Proto DataStore 用 updateData,在同一原子更新中基于旧对象生成新对象;Preferences DataStore 用 edit 修改配置。不要先单独读取旧值、稍后再无条件写回,否则会把并发更新覆盖掉。
通俗例子
两处同时把计数加一,若各自读到 5 再写 6,会少加一次;在同一个 updateData 或 edit 更新流程里计算,可避免这种竞争。
内容来源
- Android · AI Agent 知识手册 · 原条目
5.4.3