java - 我应该为我的 Android 应用程序使用哪种保存用户数据的方式?
问题描述
我正在尝试保存应用程序的状态,以便当用户重新打开它时,它看起来就像关闭时一样。
(我认为)我发现至少有五种方法可以做到这一点:
- 共享首选项
- onSaveInstanceState
- 暂停
- 核心数据
- 甲骨文
对于给定场景中的哪一个是正确的解决方案,我有点迷茫。我的应用程序包含几个设置,例如是否应该显示或隐藏某些 UI 元素。但它也包含数百个基于用户行为以独特方式相互引用的对象。我应该使用哪种方式保存这些数据来保存所有这些?
解决方案
如果您使用的是 Google 的 MVVM,您可以尝试使用SavedState for ViewModel 这样您的应用程序状态可以在应用程序进程的死亡中幸存下来。但是状态必须是轻量级的。如果您的屏幕上有很多数据,您还应该使用 Room 或文件缓存或其他东西。您可以在此处阅读有关保存状态的信息
推荐阅读
- javascript - 根据数据库检查日期的事件
- html - 房地产网站项目中的引导问题:列之间没有空间
- android - Android Work Manager - Work Manager 会 100% 确保后台执行完成吗?
- python - 构造函数时的类型检测和碰撞避免
- javascript - 当我映射 this.state 中的填充数组时,为什么它返回未定义?
- javascript - 如何将多行单元格拆分为 Google 表格的数组?
- google-apps-script - Browser.msgBox() 在打开多个框时超时(Google 表格)
- php - 如何从表 2 中选择数据与表 1 连接
- mongodb - Mongo 查询:GraphLookup 或 Aggregate
- excel - Excel公式计算签到时间