【问题标题】:iPhone, confusing memory leakiPhone,令人困惑的内存泄漏
【发布时间】:2010-04-09 23:41:07
【问题描述】:

谁能告诉我我在代码的底部做错了什么。我确信它很好,但“Leaks”说它正在泄漏,这很快就会停止将其更改为顶级版本,只是不知道为什么?

// Leaks says this is OK
if([elementName isEqualToString:@"rotData-requested"]) {
    int myInt = [[self elementValue] intValue];
    NSNumber *valueAsNumber = [NSNumber numberWithInt:myInt];
    [self setRotData:valueAsNumber];
    return;
}

.

// Leaks says this LEAKS    
if([elementName isEqualToString:@"rotData-requested"]) {
    NSNumber *valueAsNumber = [NSNumber numberWithInt:[[self elementValue] intValue]];
    [self setRotData:valueAsNumber];
    return;
}

任何帮助将不胜感激。

加里

【问题讨论】:

  • 一目了然,我看不出您的代码有任何问题。 [self elementValue] 是如何工作的,它返回什么?
  • 当然看起来不错。有时 Instruments 会撒谎——而 iphoneos 本身就有足够的漏洞 :-)。
  • 确实很奇怪。如果显式转换:[NSNumber numberWithInt:(int)[[self elementValue] intValue]],它仍然会失败吗?
  • 这种泄漏是出现在设备上还是只出现在模拟器上?模拟器有时会报告虚假泄漏。如果它没有显示在设备上,则无需担心。
  • 我在模拟器上运行,泄漏似乎指向“numberWithInt:”

标签: iphone objective-c memory-leaks


【解决方案1】:

bug,内存泄漏检查工具总是产生bug

【讨论】:

    猜你喜欢
    • 2020-11-10
    • 2012-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 2010-11-23
    • 2011-12-10
    • 2011-05-24
    相关资源
    最近更新 更多