我使用ActiveAndroid已经有一段时间了,最近听说Realm是另一个不错的选择。我正在考虑将我的应用程序更改为使用 Realm,但在此之前,我正在查看是否有人对这两者进行了性能比较。我在领域的网站上找到了一些比较,但这些比较是与 ORMLite 和 SQLite 的。
任何建议表示赞赏。
我使用ActiveAndroid已经有一段时间了,最近听说Realm是另一个不错的选择。我正在考虑将我的应用程序更改为使用 Realm,但在此之前,我正在查看是否有人对这两者进行了性能比较。我在领域的网站上找到了一些比较,但这些比较是与 ORMLite 和 SQLite 的。
任何建议表示赞赏。
Realm不能直接与ActiveAndroid进行比较, 因为 Realm 是一个移动数据库,它拥有自己的持久性引擎,旨在简单和快速地取代传统的 SQLite,而 ActiveAndroid 是 SQLite 的 ORM。因此,迁移到 Realm 意味着您将不再使用传统的 SQLite。
是的,Realm 很快(根据我的经验和他们的基准测试),但与传统 SQLite 的区别并不明显,除非您的应用程序使用数据库事务或大量搜索,那么我建议您使用 Realm。如果没有,那么已经工作的 ActiveAndroid 就可以了。
虽然,我建议在做一个新项目/应用程序时,尽量熟悉 Realm,这样当你想出一个大量使用数据库的应用程序时,你真的会欣赏 Realm 的速度。
Active Android 最近一次更新是在两年前,Realm 是一个活生生的项目。
Active Android 只是 SQLite 数据库的包装器。Realm 提供了更多功能,例如自动刷新查询结果、从 JSON 创建对象或数据库更改通知。
我认为除非您插入数百万条记录,否则性能无关紧要,但如果这是真的,您最好直接使用 SQL。
Realm 是一个适用于 iOS 和 Android 的跨平台解决方案(当您同时针对两者时,这非常棒)。
最好使用 Realm。在我的上一个项目中,我使用了它并且效果更好。
在 GUI 中,如果您想显示 25 岁以下的用户列表。现在您从工作线程从 Internet 获取,但是当您将数据自动保存在领域时,所有数据将被更新。无需再次查询。
它要快得多。并且在架构上易于使用。
嗨,mudit 可能为时已晚,但可以帮助其他人。我自己的境界是最好的选择。
Realm 是一个移动数据库,是 SQLite 的替代品。虽然是 OO 数据库,但它与其他数据库有一些不同。Realm 没有使用 SQLite 作为它的引擎。相反,它拥有自己的 C++ 核心,旨在为 SQLite 提供移动优先的替代方案。Realm 通过 C++ 核心以通用的、基于表格的格式存储数据。这就是允许 Realm 允许从多种语言以及一系列即席查询访问数据的原因。
优点:
比 SQLite 快(对于正常操作,速度比原始 SQLite 快 10 倍)
便于使用
为您处理的对象转换
便于动态创建和存储数据
我使用了我的项目,与 SQlite 相比,它的速度超过了 10 倍。因为我在 for loop SQlite中添加了100000 个数据(行)需要18分钟,但Realm只需要20 秒。
由于 Realm 是一个移动数据库:SQLite 和 Core Data 的替代品。有关更多信息,请查看性能比较。
但是您需要考虑另一个重要因素,即https://realm.io目前支持 Android 和 iOS,而其他的则基于 Sqllite,因此您甚至可以在 Windows 手机、Tizen 等中使用生成的数据库。
我希望这将有助于做出决定。