Я работаю над приложением, которое загружает ресурсы и записывает их на диск для последующего автономного использования, и это всегда пользовательский контент.В настоящее время мы работаем с контентом, где около 4000 JPG.Пользователь инициализирует загрузку контента на iPad, и в пользовательском интерфейсе есть индикатор выполнения, поэтому пользователь фактически ждет, пока это не будет сделано.Проблема в том, что около 180 - 190 МБ выделенной памяти вылетает.
Что я видел в инструментах, так это то, что CFData (хранилище) является основным виновником, и я понимаю, что CFData (хранилище) является кешем для запросов NSURLConnection,
Я пробовал:
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
[sharedCache release];
и
[[NSURLCache sharedURLCache] removeAllCachedResponses];
, а также настройку политики кэширования, без улучшений.
Для справкиВот как выглядит мой почтовый запрос:
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setCachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *contentType = [NSString stringWithFormat:@"text/xml"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *postBody = [NSMutableData data];
[postBody appendData:[xmlMessage dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postBody];
//get response
NSHTTPURLResponse* urlResponse = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&httpError];
Любая помощь будет встречена аплодисментами.