在主线程或后台线程上进行iOS XML解析

时间:2011-06-01 23:01:59

标签: objective-c multithreading ios sax xml-parsing

在iOS应用上解析Objective-C中的XML时,何时可以使用主线程以及何时应该在后台线程上进行解析?主线程可以在小文档上处理SAX解析,还是所有 XML解析在后台发生?

2 个答案:

答案 0 :(得分:4)

我通常在后台线程上进行所有数据处理。这确保了UI线程在任何时间点都不会被我正在做的任何事情阻止。

答案 1 :(得分:4)

任何不调用UIKit(UIView及其子类)或甚至暗示它可能呈现在屏幕上的东西都可以完全安全地离开主线程。

我有几个应用程序在后台线程上处理XML。我建议使用NSOperation将整个XML文档传递给它,允许它完全处理它或提供一系列委托方法,通知主线程它的进度。如果您打算使用核心数据,我可以建议您my own NSOperation abstract class进行后台导入。

实际上你可以在后台线程上做一些渲染,但你必须非常小心地选择你的API。

相关问题