下载多个文件(> 1000)NSURlConnection导致崩溃

时间:2013-07-03 13:29:42

标签: ios download nsurlconnection

在我的应用程序中,我必须一次从服务器下载多个文件(超过1000个文件)。 我创建了操作队列来下载它们。但我必须在主线程上启动urlconnection,以便可以调用委托方法。一切正常,但600文件应用程序崩溃后没有任何日志。

以下是我正在使用的步骤:

  1. 创建nsurlconnection的操作。
  2. 将操作添加到队列中。
  3. 在主线程上开始操作。 (我也尝试了[connection scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];但是工作。)
  4. 但是每次有超过500个文件的应用程序崩溃。 欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

每次连接接收数据(通过connection:didReceiveData:通知代理人)时,您应立即将该数据写入磁盘。这可确保任何时候在内存中保存最少量的数据。如果你没有,而且你同时下载了多个大文件,很容易导致内存不足,从而导致应用被终止。