我正在使用S3UploadPartRequest
将视频从iOS设备上传到S3。我将使用异步多部分请求上传大小为3-70 MB的视频。
我正在为上传设置S3UploadPartRequest
的数据。但它确实有很多内存影响。
我面临的主要问题是我设置为S3UploadPartRequest
的5MB数据对象未正确发布。 (自从回复完成以来很长一段时间后它就会被释放。)
以正确的方式设置数据,因为如果我并行上传3个部分,则15 MB将驻留在内存中。
目前我正在使用SDK 1.4.6。同样的问题似乎也发生在1.5.0上。
这就是我上传的方式:
我有一个NSOperation子类,我将从start方法启动以下代码
// Uploading process will be initiated from the Mainthread
S3UploadPartRequest* upReq = [[S3UploadPartRequest alloc] initWithMultipartUpload:self.s3MultipartUpload];
upReq.partNumber = self.partNumber;
NSData *the_dataToUpload1; // This data will be read from file using a file handle
_partData = [[NSData alloc] initWithData:the_dataToUpload1];
NSInputStream *stream = [NSInputStream inputStreamWithData:self.partData ];
[self.fileHandle closeFile];
upReq.contentLength = self.partData.length;
//upReq.data = the_dataToUpload;
upReq.stream =stream;
upReq.contentType = self.client.contentType;
upReq.delegate = self;
self.partUploadReq = upReq;
[[[S3UploadManager sharedS3Uploader] s3Client] uploadPart:self.partUploadReq];
connection = upReq.urlConnection;
[upReq release];
请建议。
以下是我的dealloc的样子。
self.partData = nil;
self.fileHandle = nil;
self.partUploadReq.stream = nil;
self.partUploadReq = nil;