2

私はリリースに向けて最初の 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 が作成された後にリリースを配置しましたが、もちろん、既に割り当てが解除されていると表示されます。これを引き起こしている可能性のあるアイデアはありますか?

4

1 に答える 1