外观
Room、DataStore 与文件各适合存什么?
标准回答
Room 适合结构化关系数据和查询;DataStore 适合小量偏好或类型化状态;文件适合媒体、日志或自定义大块内容。缓存还必须定义容量与失效策略。
关键机制
- Room 中多个相关写入要按需要放事务;索引加速查询但增加写入与空间成本;schema 升级需要迁移与验证。
- 数据 IO 不应阻塞主线程;异步 API 也要关注过大结果、频繁写入和对象转换成本。
- 用户隔离、退出清理、加密需求、备份与恢复一起考虑;切勿把敏感凭据直接散落到日志或普通配置。
通俗例子
设备列表和历史记录存 Room,用户偏好的排序方式存 DataStore,大图片存文件并在数据库保留元数据或路径。
易混淆点
清缓存不应清掉不可恢复的用户数据;破坏性数据库重建只能用于业务明确允许丢失的场景。
参考资料
内容来源
- Android 技术札记 · 原条目
storage