2017-02-11 37 views
1

假设我获取Realm对象列表并访问结果中的所有数据(导致数据加载到内存中)。接下来,通过引用仍在附近的对象列表,我直接通过其主键获取这些对象之一。我正确地假设,在这种情况下,对象将被返回而不必击中磁盘?如果我不再提及最初的结果列表,该怎么办?它可能仍然在记忆中?最近访问Realm对象保存在内存中吗?

只是想知道如何通过Realm缓存对象,因此如果不需要,我不会不必要地尝试优化代码中的内容(例如,保留对象,我认为我会尽快使用)。

回答

0

领域内存映射文件,并且只有当您实际读取对象的属性时才访问它。这意味着最近访问的数据仍将存储在内存中,直到操作系统不得不放弃该内存以释放其他内容为止,并且磁盘I/O在从Realm获取新对象方面没有区别,到现有的对象。