Я нахожусь на последней стадии настройки своего первого приложения для iPhone для выпуска и пытаюсь сбить килобайты, где смогу.У меня есть процесс, который синхронизирует некоторые данные с моим сервером при запуске приложения, и я заметил, что когда я это прокомментировал, мое приложение использует 7 МБ, когда оно завершается при запуске.Когда я включаю его, он использует 18 МБ, когда все готово к запуску.Сейчас я пытаюсь определить, какая часть процесса пожирает память, а не возвращает ее.Я отключил большую часть своей функции синхронизации, и у меня осталось это, и она все еще использует 2 МБ памяти и не освобождает ее, когда это будет сделано:
GDataXMLDocument *syncData = [[self getXmlWithUrl:@"http://SOMEURL"] autorelease];
Это просто использует мою вспомогательную функцию, чтобы выйти изагрузите XML-документ для меня, чтобы использовать.Моя вспомогательная функция выглядит следующим образом:
-(GDataXMLDocument*)getXmlWithUrl:(NSString*)url{
NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSURLResponse *resp = nil;
NSError *err = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &err];
return [[GDataXMLDocument alloc]initWithData:response options:0 error:&err];
}
Я помещаю релиз после создания syncData, но, конечно, он говорит, что он уже выделен.Любые идеи о том, что может быть причиной этого?