【问题标题】:Leak on a NSString that's released泄漏已发布的 NSString
【发布时间】:2011-08-24 16:42:50
【问题描述】:

我正在完成我的应用程序,是时候修复所有漏洞了,所以我使用 Instruments。

这是代码和泄漏...

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    [connection release];

    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    [responseData release];
    //NSString *responseString2 = [NSString stringWithFormat:@"%s%@%s", "[", responseString, "]"]; 
    // Pour ajouter les [] si y'en a pas autour de tout le contenu JSON, et on doit utiliser responseString2 au lieu de responseString à la ligne ci-dessous
    NSArray *tableau = [responseString JSONValue];
    [responseString release];
    NSDictionary *dico = [tableau objectAtIndex:0];

泄漏的是responseString,但我在将此值放入数组后将其释放...如何删除泄漏?我不明白我的错误。

【问题讨论】:

    标签: iphone objective-c ios memory-leaks


    【解决方案1】:

    Leaks 向您显示泄漏分配的位置,而不是实际泄漏的位置;不是导致问题的额外retain

    使用分配工具来跟踪对象上的所有保留/释放调用并找到额外的保留。那将是你的泄漏。


    我对如何处理 Heapshot based analysis 的解释应该对您有所帮助(因为它也可以用来追踪类似这样的问题)。

    【讨论】:

    • 好的。我能解释一下它是如何运行的吗?我尝试使用它需要 30 分钟,但是... x(谢谢你的提问 ;-)
    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多