2014-05-01 44 views
0

我正在研究批量处理和上载图像到服务器的功能。一般结构是:iOS连续的FIFO上传架构

  • 我有需要上载
  • 在服务器上创建的图像的图像的表(检索一个图像标识等,从服务器)
  • 充分和缩略图,然后从应用

我使用NSOperationsCreatePhotoOperationUploadPhotoOperation)要做到这一点上传到S3。 CreatePhotoOperation创建3个孩子UploadPhotoOperations(用于上传3个不同尺寸的图像)并将其添加到本地NSOperationQueue。但是,问题是,由于依赖于NSOperation,如果本地队列的-waitUntilAllOperationsAreFinished为YES,则有时操作将停止。如果它不是,那么它不会停顿,但是会将越来越多的CreatePhotoOperations转储到队列中,因此会消耗更多的RAM/CPU。

CreatePhotoOperation完成时,它只是查找表中的下一张照片并将其添加到单例队列中。

什么是更好的方法来解决处理/上传许多照片,一次一个,异步?谢谢!

注意:如果能澄清过程,我可以提供代码。

+0

对不起,我不明白究竟是哪个问题。 –

+0

你为什么要一次一个地做任何事情? – nhgrif

回答

0

如果您担心应用程序正在执行所有操作时的内存/ CPU使用情况,您可以将NSOperationQueue上的MaxConcurrentOperationCount设置为较低的值。默认情况下,它设置为NSOperationQueueDefaultMaxConcurrentOperationCount

NSOperationQueueDefaultMaxConcurrentOperationCount将基于可用处理器的数量和其他相关因素来选择适当的值。