读取Realm对象的字段比java对象慢吗?

时间:2015-11-11 10:11:40

标签: java android realm

我正在考虑在制作应用中使用Realm.io作为我的ORM。

据我所知,RealmResults对象存储在BackendStore(磁盘)而不是RAM中,因为RealmResult只是保存在数据库中的真实对象的代理。

所以我的问题是,鉴于Java对象存储在RAM中,读取RealmObject的字段与从普通Java对象读取它的速度一样快。我的应用程序中有很多读数,我担心这会影响响应能力。

1 个答案:

答案 0 :(得分:3)

这取决于你的比较。 RealmResults是查询的结果,而Realm不会复制对象 - 与传统的ORM相反。 Realm只会在需要时获取对象,而典型的ORM会将对象复制到内存中。将对象从SQLite复制到普通Java对象受I / O性能的约束。

访问RealmObject可能比访问普通Java对象要慢。但是普通的Java对象并不是持久的。 Realm提供了一个内存中选项,它与普通Java对象进行了更直接的比较。内存中领域的属性为Plain对象:当应用程序关闭时,您会丢失数据。

因此,如果您花费大量时间从SQLite复制对象以获得快速的内存中对象,那么整体上可能会更慢。