【问题标题】:Memory leak in InstrumentsInstruments 中的内存泄漏
【发布时间】:2011-06-28 12:56:36
【问题描述】:

通过 Instruments “Leaks”运行我的应用程序,它说我有一个泄漏,这似乎与此代码有关 -

-(void)podAppears {

podCount ++;

NSString *podName = [NSString stringWithFormat:@"Pod%i",podCount];
Pod *thePod = [[Pod alloc] initWithOwner:self withName:podName];

[pods setObject:thePod forKey:podName];
[thePod release];

}

我看不出有什么问题,但总的来说,我对 Objective-C 和内存管理还很陌生。非常感谢任何帮助!

【问题讨论】:

  • 什么是 pod? NS词典?此外,看起来 Pod 是一个自定义类。如何向我们展示 initWithOwner:withName: 方法?
  • 这个块在我看来很好,你确定这是泄漏的地方吗?这段代码是不是跑出了主线程?

标签: objective-c memory memory-leaks instruments


【解决方案1】:

该代码看起来不错。当 Instruments 通知您泄漏时,它会告诉您泄漏对象的来源。该对象的实际泄漏很可能发生在您的应用程序的其他地方。您应该查看访问 Pod 对象的其他位置。

【讨论】:

  • 我正在尝试解释 Instruments 的输出,所以我可能对链接的位置有误,尽管它似乎最终到了这里。看起来它从其他地方开始,但这就是我无法弄清楚的......
  • 感谢您的帮助 - 事实上,我确实将问题追溯到我的对象在 dealloc 上没有正确整理,导致某些内容未发布。
猜你喜欢
  • 2017-05-26
  • 2011-06-07
  • 1970-01-01
  • 2011-11-08
  • 2011-10-10
  • 2012-12-16
  • 2010-10-09
  • 2011-08-13
相关资源
最近更新 更多