Tag: nsoperationqueue cfdata

iOS下载和parsing大的JSON响应导致CFData(存储)泄漏

用户第一次打开我的应用程序,我需要下载大量的数据。 我以JSONforms从服务器获取所有这些数据。 根据用户的不同,这些JSON文件可以在10kb到30mb的范围内,其中有10个以上。 当JSON不超过500条logging时,我没有任何问题,但是正如我所说的,有些logging超过了10,000条,最多可以达到30MB。 当下载较大的JSON时,我的应用程序会分配大量的内存,直到我最终得到内存警告,应用程序崩溃。 看来CFData必须是我在didReceiveData中构build的NSMutableData。 当我下载一个JSON时,CFData(store)就会上升 – 当我开始parsing时,它停止上升。 在继续下载和parsing下一个JSON之前,如何清除这些数据? 如下所示,内存中有200mb的CFData(存储): – 挖入CFData并不能帮助我: 这里是我创build操作来获取这些各种JSON的代码 – – (void)checkForUpdates { if(!_globals) _globals = [MySingleton sharedInstance]; MyAFHTTPClient* client = [MyAFHTTPClient sharedClient]; NSString* path = [NSString stringWithFormat:@"cache?deviceUID=%@&token=%@",[_globals getMacAddress], [_globals getToken]]; NSURLRequest* request = [client requestWithMethod:@"GET" path:path parameters:nil]; _currentEnvironment = [_globals getActiveEnvironment]; if(!_currentEnvironment.didDownloadDataValue) [self setupAndShowHUDinView:self.view withText:@"Checking for updates…"]; AFJSONRequestOperation* operation […]