android - 极限 Realm 结果

标签 android realm

如何限制 Realm 返回的对象数量? .findAll 返回匹配查询的所有行,而 .findFirst 只返回第一行。但是像前 1000 这样的东西呢? .findAll 可能会返回太多的行,以至于它会消耗太多内存。

最佳答案

很酷的是,使用 Realm,您无需担心这一点。当您访问对象及其字段时,查询返回的结果对象会延迟加载。您的对象永远不会被复制,因此只会在内存/磁盘中出现一次。

这方面的(当前)实现细节是从查询返回的 RealmResults 对象只是对匹配对象的引用列表。这些引用是压缩存储的微小数字,因此它们占用的内存非常少。所以即使有 100.000 个匹配,它实际上也不会占用太多内存。它会为所有类型的对象占用相同数量的内存,无论它们有一个 int 字段还是数百个带有字符串或大二进制文件的字段。

关于android - 极限 Realm 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852573/

相关文章:

java - 在 fragment 链之间传递数据的标准方法

java - rxJava2 在复杂流中组合单一的、可能的、可完成的

ios - RealmSwift 导入错误

带有导航组件的 Android 深层链接无法按预期工作

android - Android地理围栏系统(Google Play服务)可以在手机休眠时触发事件吗

Android - 仅在发布 apk 时出现,java.lang.IllegalArgumentException : Unable to create converter for class

ios - swift 3 : Property observer for singleton

ios - 在不重新启动应用程序的情况下更改 Realm 文件

swift - 使用 carthage 的 RealmSwift 框架集成问题

android - 在 Android 应用程序连接到 Web 服务后维护 session