iPhone 应用程序在解析 XML 时冻结

Posted

技术标签:

【中文标题】iPhone 应用程序在解析 XML 时冻结【英文标题】:iPhone app freezes when parsing XML 【发布时间】:2010-01-25 22:12:59 【问题描述】:

每当我解析 XML 提要时,我的应用程序就会冻结。

我尝试过调用它:

[NSThread detachNewThreadSelector:@selector(parseXML) toTarget:self withObject:nil];

调用:

-(void) parseXML 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    [self parseXMLFileAtURL:path];
    [pool drain]; 

但是我的应用程序因此变得非常不稳定...... iPhone 模拟器刚刚崩溃,没有错误警告。

【问题讨论】:

【参考方案1】:

而不是打电话:

[NSThread detachNewThreadSelector:@selector(parseXML) toTarget:self withObject:nil];

你应该打电话:

[self performSelectorInBackground:@selector(parseXML) withObject:nil]

您的 UI 冻结,因为您在 UI 线程中执行冗长的操作。

【讨论】:

我收到此错误:[切换到线程 12547] 程序收到信号:“EXC_BAD_ACCESS”。 [切换到线程 12547] 现在我得到了这个:调试器停止了。程序以状态值退出:0。 看来下一个问题是因为一些其他代码,如果你可以在这里分享它,我可以看看它。

以上是关于iPhone 应用程序在解析 XML 时冻结的主要内容,如果未能解决你的问题,请参考以下文章

iPhone AVAudioPlayer 应用程序在第一次播放时冻结

如何在 iphone 中解析多个 .xml 文件?

iPhone解析XML数据,标签未出现

iPhone - 应用程序启动时保存核心数据会导致多个相同的对象

打开表情符号键盘时自定义 UITextField 冻结应用程序?

iOS 应用程序在解析异步查询期间冻结