我使用AFJSONRequestOperation上传图片。
在上传图像数量的情况下,某些请求因超时错误而失败。
我试过
AFJSONRequestOperation *operation = ...
[operation start];
和
AFJSONRequestOperation *operation = ...
[operations addObject:operation];
...
[client enqueueBatchOfHTTPRequestOperations:operations progressBlock:nil completionBlock:nil];
然而,仍然没有运气。
我认为时间计数在创建操作时开始。
那么,我应该为我自己的算法逐个安排请求吗?
答案 0 :(得分:1)
值得注意的是,AFNetworking将创建尽可能多的NSOperations,因为系统有资源并同时运行它们。问题是应用程序/计算机可以同时进行多个网络连接。操作开始后计数开始。出于所有实际目的,在iPhone上你可能看不到问题,因为运行多个操作的资源较少,但模拟器一次可以运行数百个线程(比最大并发网络连接多很多)。
我的建议是将并发操作(我认为AFHTTPClient中)的数量限制在比NSOperationQueueDefaultMaxConcurrentOperationCount
更合理的范围内,这允许设备运行尽可能多的资源。