使用 Restkit 的性能问题(与 TBXML 相比)

Posted

技术标签:

【中文标题】使用 Restkit 的性能问题(与 TBXML 相比)【英文标题】:Performance Issue using Restkit (vs. TBXML) 【发布时间】:2012-03-01 13:59:40 【问题描述】:

我想使用 RestKit 来解析来自我们服务器的 XML 数据。使用我们当前使用 TBXML 的方法,下载和解析需要 2-3 秒。但是,当我现在使用 RestKit + CoreData 下载和解析相同的 XML 时,大约需要 10 秒。在我们的案例中,这太过分了,因为它会极大地影响最终用户体验。

XML 的大小为 1.3 MB,我将 XML 转换为具有以下属性的两个实体:

家长:

3 个字符串属性 1 个 Integer32 属性

嵌套对象:

2 个日期属性(分配给映射的自定义日期格式化程序:yyyy-MM-dd HH:mm:ss'Z') 2个字符串属性

有没有一种方法可以提高我的设置的性能,并且 CoreData 的权衡很大,因此只使用没有 CoreData 的 RestKit 可能是有意义的。

【问题讨论】:

【参考方案1】:

您正在将苹果与橙子进行比较。使用 TBXML 下载和解析的工作量明显少于 RestKit + CoreData,后者正在下载、解析、动态映射到对象并存储到 CoreData。

This article 很好地概述了在 ios 设备上运行的各种 XML 解析器的性能特征。 TBXML 是最快的,libxml2 DOM 解析慢了大约 20%。

【讨论】:

以上是关于使用 Restkit 的性能问题(与 TBXML 相比)的主要内容,如果未能解决你的问题,请参考以下文章

TBXML 将复杂的 xml 解析为数组

RestKit 性能和核心数据

iPhone TBXML 循环和解析数据

多个 MIC 的测试套件持久性/性能问题

RestKit 与直接 CoreData

使用带有 ios 5 核心数据并发的 RestKit 时崩溃