これが私が問題を抱えているリークの問題です。このコードのほとんどはコンテキストのためにここにあるので、「応答」NSDataオブジェクトがリークしているものではないことがわかります。
LEAKSツールによって与えられたスタックトレースに従ってtouchJSONコードにドリルダウンすると、リークは明らかにラインで始まります。
*outStringConstant ....
しかし、これは非常に一般的に使用されるライブラリであるため、問題ではないかと思います。
1つのメモ。これは、最初に実行されたときにリークするのではなく、それ以降は毎回リークします。ただし、リークが多いため、応答データはリークしている実際のデータである可能性があります。
また、touchJSONとこのコードに精通している人がいる場合は、このoutStringConstant変数とは何か、そしてそれが何をするのかを説明していただけますか?その行を削除するとコードがクラッシュしますが、Stringのコピーが割り当てられる以外は、何の役割も果たしていないようです。
私のコードは
dataRequestURL = [NSString stringWithFormat:@"http://www....", ...];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:dataRequestURL] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:&ts_response error:&ts_error];
NSArray *array = [[CJSONDeserializer deserializer] deserialize:response error:nil]; <- LEAKS HERE
TOUCHJSONコードは
-(BOOL)scanJSONStringConstant:(NSString **)outStringConstant error:(NSError **)outError {
NSMutableString *theString = [[NSMutableString alloc] init];
if (outStringConstant != NULL) { *outStringConstant = [[theString copy] autorelease]; }
[theString release];
}