【问题标题】:Android - Which one to use Active Android or RealmAndroid - 使用哪个 Active Android 或 Realm
【发布时间】:2015-05-16 18:23:49
【问题描述】:

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

欢迎提出任何建议。

【问题讨论】:

  • 同样的问题。如果你有答案,你能说出来吗
  • 您是否只想进行性能比较?或者更广泛的比较(如标题所示)?
  • @VickyChijwani:两者都

标签: android realm activeandroid


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 这应该是一条评论
        【解决方案5】:

        嗨,mudit 可能回答得太晚了,但它可以帮助其他人。我自己的境界是最好的选择。

        Realm

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

        优势:

        • 比 SQLite 快(正常情况下比原始 SQLite 快 10 倍) 操作)

        • 易于使用

        • 为您处理对象转换

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

        我使用我的项目,它的速度比 SQlite 快 10 倍以上。因为我在 for 循环中添加了 100000 数据(行) SQlite 需要 18minRealm 只需要 20秒

        【讨论】:

          【解决方案6】:

          Realm 是一个移动数据库:SQLite 和 Core Data 的替代品。 更多信息请查看performance comparison

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

          我希望做出决定会有所帮助。

          【讨论】:

          • 我不是在比较 SQLIte 和 Realm。我想比较 Active Android 和 Realm。您发布的链接也是针对领域与核心数据的(所以没用)。
          • @mudit ActiveAndroid 是基于 SQLlite 的 ORM,根据那里的声明“ActiveAndroid 允许您保存和检索 SQLite 数据库记录,而无需编写单个 SQL 语句”。在某些情况下,这甚至会引发一个名为 SQLiteException 的异常,有关更多信息,请查看@guides.codepath.com/android/ActiveAndroid-Guide#overview。我希望它现在会清除。
          猜你喜欢
          • 1970-01-01
          • 2015-09-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多