在 iOS 上进行 xml 解析的优化提示和指南



我正在寻找在ios上进行xml解析的优化技巧和指南。我目前正在我的一个项目中使用 KissXML 来解析大约 50 Hz 的消息。有了这个速率,我可以清楚地看到,即使消息相对较短(大约 10 个元素),处理消息的处理负载也很高。

优化策略之一当然是选择"正确"的解析器。有关适用于 ios 的可用解析器之间的详细比较,请参见此处 http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project。

但是,我目前正在尝试研究有关如何通过有效负载进行优化以尽可能提高性能的一般准则和技巧。我希望专家们对此有一些发言权!非常感谢任何个人或部分提示。

至于不直接涉及解析XML的技巧,但这仍然可以帮助您完成该任务:

  1. 在后台线程中进行解析可以轻松帮助您。使用 GCD,您还可以定义线程的优先级。
  2. 您可以使用此 Apple 文档中的技术。在第 14 页上,您可以阅读:

使用方法选择器:规避动态绑定可以节省大部分 消息传递所需的时间。但是,节省的费用将是 仅在特定消息重复多次时才有效,例如 在上面显示的 for 循环中。

我实际上已经使用这种技术在对象数组上设置值,并且能够获得 0.7 秒的改进。可能不多,但在更繁重和重复的任务中,我确实认为它会有所作为。

最新更新