我正处于调整我的第一个 iphone 应用程序以供发布的最后阶段,并试图尽可能减少千字节。我有一个在应用程序启动时将一些数据与我的服务器同步的过程,当我将其注释掉时,我注意到,我的应用程序在完成启动时使用了 7MB。当我打开它时,它在完成启动时使用 18MB。我现在正试图确定该过程的哪一部分正在消耗内存而不是还给它。我已经关闭了大部分同步功能,剩下的就是这个,它仍然使用 2MB 内存,完成后不会释放它:
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 后发布了一个版本,但当然它说它已经被取消分配。关于可能导致这种情况的任何想法?