我目前遇到有关领域数据库的一些问题,我不知道解决这个问题的最佳实践是什么 .

所以我设置了一个与服务器通信的应用程序,并通过存储到我的Realm中的Retrofit获取Post Objects . 这个帖子提要是我的应用程序的核心部分,我想保持本地的东西在离线时保持吸引力 . 问题是我无法在本地存储整个Feed列表,因为这将是一大块内存 . 但我想确保用户在滚动循环播放器视图时获取此内容 . Recycler-view当前仅显示本地帖子,并在强制刷新时更新它们 . 我想在滚动机制上实现一个加载,在滚动时将Post对象加载到它中,但是当应用程序关闭时,这个滚动对象应该在本地存储 .

我想过创建一个额外的内存Realm但是还有另一个问题:Post Object包含一个UserObject的ForeignKey . 当我在服务器上下载此动态PostObjects和UserObject时,我希望能够将这些更改反映到本地持久Realm上的每个其他用户 . (避免为同一用户使用2个不同的UserObject)

到目前为止,我最好的想法是将PostObjects上的布尔字段设置为true或false以指示临时状态 . 应用程序关闭后,我将删除所有临时条目 . 这是一个可行的解决方案还是我错过了什么?我希望你理解我的问题,并能提供帮助 .

Edit: My Realm数据库包含两个相关对象:

  • 用户

有一个名字(主键),id(来自服务器的全局),imageUrls等 .

  • 发布

有一个创建它的用户,同样是一个id及其数据(文本,日期,图像......)

Edit2 : 我真正需要的是一种内存中的Realm,它允许我在启动时克隆另一个用于在没有连接的情况下拥有数据的领域 . 在内存领域被删除之前,我将覆盖临时领域的5-10个最后发布条目的离线领域 . 这样的事情可能吗?