【问题标题】:Core Data vs Sqlite and performance核心数据与 Sqlite 和性能
【发布时间】:2010-11-05 22:12:02
【问题描述】:

我想知道是否有人对已在 3.0 SDK 中转换为 Core Data 的旧 sqlite 应用程序之间的性能差异有任何真实的数字。

我怀疑 Core Data 无论如何都只是在使用 sqlite,而且为了方便起见,它会增加一些开销,但我想我还是会问。

【问题讨论】:

  • 没有必要“怀疑”这一点。文档中非常清楚地说明您可以选择 SQLite 存储。

标签: iphone cocoa-touch core-data


【解决方案1】:

Core Data 在缓存、延迟加载和内存管理方面进行了大量优化。

如果您使用它(使用 SQLite 存储类型),尤其是与 NSFetchedResultsController 结合使用,您应该获得比单独使用 SQLite 更好的性能。

Apple 一直在努力使 Core Data 在 iPhone 上表现良好。我的应用程序从带有 FMDB 的 SQLite 切换到 Core Data,现在它更快、更稳定,代码更少。

【讨论】:

  • 我的普遍印象是 Core Data 只会增加 SQLite 的开销,但我被证明你描述的一切都是真实的。事实上,我相信 iPhone 的通讯录现在是基于 Core Data 3.0 的。这是一个相当强烈的信任投票。
  • 我相信现在的 iPod 应用也是如此。
  • 感谢您的出色回答,以个人经验与理论类型行话为后盾。
【解决方案2】:

Core Data 可以使用 sqllite - 由开发人员来配置 - 所以你的怀疑是正确的。在电话上,我建议 sqllite 是最好的主意。

我认为使用 Core Data 可以获得的最大好处之一是延迟加载数据和节省内存。因此,当您考虑性能时,您还需要考虑此类问题,因为您拥有的可用内存量也会影响性能。

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多