【问题标题】:Are recently accessed Realm objects kept in memory?最近访问的 Realm 对象是否保存在内存中?
【发布时间】:2017-02-11 23:59:08
【问题描述】:

假设我获取一个 Realm 对象列表并从结果中访问所有数据(导致数据被加载到内存中)。接下来,在引用仍然存在的对象列表的情况下,我直接通过其主键获取其中一个对象。我是否正确地假设,在这种情况下,对象将被返回而不必敲击磁盘?如果我不再引用该原始结果列表怎么办?会不会还在记忆中?

只是想了解 Realm 如何在内部缓存对象,因此如果不需要,我不会不必要地尝试优化代码中的内容(例如,保留我认为我很快会再次使用的对象)。

【问题讨论】:

    标签: swift realm


    【解决方案1】:

    Realm 内存映射文件,并且仅在您实际读取对象的属性时才访问它。这意味着最近访问的数据仍将保留在内存中,直到操作系统必须丢弃它以释放 RAM 用于其他用途,并且在磁盘 i/o 方面与从 Realm 获取新对象并保持不变没有区别到现有对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多