Насколько велики изображения? А сколько ты пытаешься отправить?
Кажется, я не могу найти простой способ реализации NSInputStream
с использованием AFNetworking
, но есть определенно одна вещь, которую вы должны попробовать: избегать помещения больших объектов в пул авто-релиза. Когда вы создаете большие экземпляры NSData, инсиндирующие цикл for, и они идут в пул авто-релиза, вся эта память остается в памяти до тех пор, пока длится цикл. Это один из способов его оптимизации:
for (int i=0; i<[self.sImages count]; i++) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSData *imageData = UIImageJPEGRepresentation([self.sImages objectAtIndex:i], 0.7);
[formData appendPartWithFileData:imageData name:@"pics[]" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
pool drain];
}
Или, если вы используете LLVM3:
for (int i=0; i<[self.sImages count]; i++) {
@autoreleasepool {
NSData *imageData = UIImageJPEGRepresentation([self.sImages objectAtIndex:i], 0.7);
[formData appendPartWithFileData:imageData name:@"pics[]" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}
}