簡體   English   中英

AFNetworking下載多個文件內存占用

[英]AFNetworking downloading multiple files memory footprint

我正在使用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 )似乎沒有被釋放,這是不斷增加內存占用量的原因? 這個對嗎? 我是否按預期使用AFNetworking和operationQueue?

你可能想在你的for循環中放一個@autoreleasepool。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM