内存泄漏似乎在touchJSON中

时间:2011-06-10 03:20:56

标签: ios objective-c memory-leaks touchjson

这是一个我遇到问题的泄漏问题。这些代码大部分只是用于上下文,因此您可以看到“响应”NSData对象不是泄漏的。

如果我深入了解touchJSON代码,按照LEAKS工具给我的堆栈跟踪,泄漏显然是从生产线开始的

 *outStringConstant ....  

但由于这是一个常用的库,我怀疑这是问题所在。

一个注意事项。这不会在第一次执行时泄漏,只会在每次后续泄漏。但它泄漏了很多,所以响应数据可能是泄漏的实际数据。

另外,如果有人熟悉touchJSON和这段代码,你能解释一下这个outStringConstant变量是什么以及它做了什么?它似乎没有扮演任何角色,除了被分配了一个theString的副本,但如果我删除该行代码崩溃。

我的代码是

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 CODE是

   -(BOOL)scanJSONStringConstant:(NSString **)outStringConstant error:(NSError **)outError {

    NSMutableString *theString = [[NSMutableString alloc] init];
if (outStringConstant != NULL) { *outStringConstant = [[theString copy] autorelease]; }

       [theString release];

    }

0 个答案:

没有答案