19

我使用ActiveAndroid已经有一段时间了,最​​近听说Realm是另一个不错的选择。我正在考虑将我的应用程序更改为使用 Realm,但在此之前,我正在查看是否有人对这两者进行了性能比较。我在领域的网站上找到了一些比较,但这些比较是与 ORMLite 和 SQLite 的。

任何建议表示赞赏。

4

6 回答 6

8

Realm不能直接与ActiveAndroid进行比较, 因为 Realm 是一个移动数据库,它拥有自己的持久性引擎,旨在简单和快速地取代传统的 SQLite,而 ActiveAndroid 是 SQLite 的 ORM。因此,迁移到 Realm 意味着您将不再使用传统的 SQLite。

是的,Realm 很快(根据我的经验和他们的基准测试),但与传统 SQLite 的区别并不明显,除非您的应用程序使用数据库事务或大量搜索,那么我建议您使用 Realm。如果没有,那么已经工作的 ActiveAndroid 就可以了。

虽然,我建议在做一个新项目/应用程序时,尽量熟悉 Realm,这样当你想出一个大量使用数据库的应用程序时,你真的会欣赏 Realm 的速度。

于 2016-05-21T17:32:53.923 回答
2

Active Android 最近一次更新是在两年前,Realm 是一个活生生的项目。

Active Android 只是 SQLite 数据库的包装器。Realm 提供了更多功能,例如自动刷新查询结果、从 JSON 创建对象或数据库更改通知。

我认为除非您插入数百万条记录,否则性能无关紧要,但如果这是真的,您最好直接使用 SQL。

于 2016-02-09T06:25:39.400 回答
1

Realm 是一个适用于 iOS 和 Android 的跨平台解决方案(当您同时针对两者时,这非常棒)。

于 2016-06-24T22:22:37.227 回答
1

最好使用 Realm。在我的上一个项目中,我使用了它并且效果更好。

在 GUI 中,如果您想显示 25 岁以下的用户列表。现在您从工作线程从 Internet 获取,但是当您将数据自动保存在领域时,所有数据将被更新。无需再次查询。

它要快得多。并且在架构上易于使用。

于 2016-06-14T16:55:50.673 回答
1

嗨,mudit 可能为时已晚,但可以帮助其他人。我自己的境界是最好的选择。

领域

Realm 是一个移动数据库,是 SQLite 的替代品。虽然是 OO 数据库,但它与其他数据库有一些不同。Realm 没有使用 SQLite 作为它的引擎。相反,它拥有自己的 C++ 核心,旨在为 SQLite 提供移动优先的替代方案。Realm 通过 C++ 核心以通用的、基于表格的格式存储数据。这就是允许 Realm 允许从多种语言以及一系列即席查询访问数据的原因。

优点:

  • 比 SQLite 快(对于正常操作,速度比原始 SQLite 快 10 倍)

  • 便于使用

  • 为您处理的对象转换

  • 便于动态创建和存储数据

我使用了我的项目,与 SQlite 相比,它的速度超过了 10 倍。因为我在 for loop SQlite中添加了100000 个数据(行)需要18分钟,但Realm只需要20 秒

于 2017-05-06T18:57:59.230 回答
0

由于 Realm 是一个移动数据库:SQLite 和 Core Data 的替代品。有关更多信息,请查看性能比较

但是您需要考虑另一个重要因素,即https://realm.io目前支持 Android 和 iOS,而其他的则基于 Sqllite,因此您甚至可以在 Windows 手机、Tizen 等中使用生成的数据库。

我希望这将有助于做出决定。

于 2015-09-10T19:05:23.137 回答