由于内部运行的线程数过多,iOS App崩溃

时间:2013-10-24 11:18:08

标签: ios multithreading nsoperation nsoperationqueue

我使用多个NSOperationQueue,并将maxConcurrentOperationCount设置为NSOperationQueueDefaultMaxConcurrentOperationCount。

在我的应用程序中,我创建了200个或更多队列。当队列中创建了大量线程时,我得到了SIGABRT。

我担心的是:

  1. 我需要一次确定应用内部足够数量的NSOperations
  2. 为多个队列建议一些负载平衡。
  3. 如何在使用多个队列时决定maxConcurrentOperationCount。
  4. 由于应用程序内部线程数量过多,我不确定如何逃脱崩溃。

2 个答案:

答案 0 :(得分:0)

我可以建议你创建一个固定队列池来重用(如果你真的需要它们)并设置适当数量的最大并发操作,然后使用工具对你的应用进行分析以找到一个很好的权衡,但我强烈建议您不要使用太多线程来保持应用程序的响应性并且易于调试。

答案 1 :(得分:0)

  

我收到NSInternalInconsistencyException:无法加载文件abc.xib

所以,这是对崩溃原因的暗示。

检查您尝试使用abc.xib文件的方式,以及该文件是否有效可用并与Xcode目标相关联。问题的原因在于那里。