gpt4 book ai didi

objective-c - AFNetworking 下载多个文件内存占用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:53 25 4
gpt4 key购买 nike

我正在使用 ARC,并且在使用 AFNetworking 时在我的应用程序中下载多个文件 (10000+) 时遇到问题。我正在创建每个 AFHTTPRequest,然后将它们排队等待执行。当我使用仪器运行它时,我可以看到内存使用量不断增加,直到所有文件都已下载,然后才释放所有内存。这在模拟器上存在,但在 iOS 设备上运行时崩溃。

下面是我正在做的示例代码

for (int i = 0; i < NUM_OF_FILES_TO_DOWNLOAD; i++) {
_imageCounter++;
[self downloadFile:i];
}

- (void)downloadFile:(NSUInteger)num
{
NSString *fileURL = @"file/%d/", num];
NSURLRequest *url = [self.httpClient requestWithMethod:@"GET" path:fileURL parameters:nil];

AFHTTPRequestOperation *requestOperation = [_httpClient HTTPRequestOperationWithRequest:url success:^(AFHTTPRequestOperation *operation, id responseObject) {
...
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
...
}];

[_httpClient enqueueHTTPRequestOperation:requestOperation];
}

似乎文件(responseObject)在操作成功 block 执行后没有被释放,这就是不断增加内存占用的原因?这样对吗?我是否按预期使用了 AFNetworking 和 operationQueue?

最佳答案

你可能想在你的 for 循环中放置一个@autoreleasepool。

关于objective-c - AFNetworking 下载多个文件内存占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13467616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com