realm - 批量读取领域数据时如何从内存中卸载对象
问题描述
以下是 Realm 团队提供的用于读取整个结果集子集的代码示例(快速):
// Loop through the first 5 Dog objects
// restricting the number of objects read from disk
let dogs = try! Realm().objects(Dog.self)
for i in 0..<5 {
let dog = dogs[i]
// ...
}
参考:https ://realm.io/docs/swift/latest/ (限制结果)
现在我知道当我们从领域中读取对象时会加载它们,我对领域如何在我们不断进行的过程中从内存中卸载它们感到有点困惑。例如,如果我的查询返回 100 个对象作为结果集并且我读取了前 10 个对象,那么在用户交互时我读取了接下来的 10 个对象,依此类推。现在,以前在内存中读取的对象会发生什么。在这种情况下,我如何控制内存使用情况,因为我可能想在阅读较新的子集时卸载以前的子集。
我的猜测是我可能需要使旧领域无效并建立新连接以再次获取结果集并从新偏移量再次读取。无效可能会卸载之前读取的所有内容。请建议。
谢谢!
解决方案
推荐阅读
- r - 我可以在 R 中使用 doParallel 在 Foreach 中仅使用一个 RODBC 连接吗?
- javascript - 替换匹配并忽略某些字符
- android - RecyclerView 中的图像在更新时闪烁
- linux - 如何从文本文件中给出的路径创建文件夹和文件
- javascript - 为什么需要创建http服务器?
- css - 无法使用 justify-content: space-between; 在反应引导中
- javascript - js plotly 热图总是颠倒?
- html - 根据另一个 div 或元素的存在更改一个 DIV 的可见性
- python - django 表单中的多级下拉菜单
- c++ - std::priority_queue 的自定义比较器背后的逻辑