内存泄漏似乎是在触摸JSON

这是一个泄漏问题,我遇到了麻烦。 大部分代码只是在这里的上下文,所以你可以看到“响应”NSData对象不是什么泄漏。

如果我深入探究touchJSON代码,按照LEAKS工具给我的堆栈跟踪,泄漏显然开始在线

*outStringConstant .... 

但由于这是一个常用的图书馆,我怀疑这是一个问题。

一个音符。 这不会在第一次执行时泄漏,只会在随后的每一次。 但它泄漏了很多,所以响应数据可能是泄露的实际数据。

另外,如果有人熟悉touchJSON和这个代码,你能向我解释这个outStringConstantvariables是什么,它是什么? 它似乎没有扮演任何angular色,除了被分配的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]; }