2010-06-14 78 views
1

在我为UITableView委托的'cellForRowAtIndexPath'方法中,如果它不存在,我将分配一个单元格,并在此单元格中创建一个新的活动类似于所以:使用UITableViewCell中的元素自动释放 - 内存泄漏

我使用泄漏检测我的程序内存泄漏,出于某种原因,这就要到了作为一个泄漏,即使它自动释放。细胞本身也在自动释放。有没有人有过泄漏测试中泄漏的自动释放变量的经验,以及如何解决这些问题?

这只会泄漏,如果我将它添加到单元格的contentView。如果我只是创建并让它成为,泄漏仪器不会报告任何问题。

此外,如果有帮助,这是历史泄漏显示此内存位置。它看起来在某些时候会得到额外的保留信息?这不是在我的代码中完成的。

alt text

+0

什么版本的iOS? – 2010-06-15 01:50:05

回答

0

我得出结论,这是由于模拟器 - 我没有收到实际设备上的这些泄漏。

0

是含有细胞释放?

如果不是,你是否曾经从包含的单元中移除UIActivityIndi​​catorView实例?

+0

该文档说,当单元被移除时,UITableViewCell的contentView负责释放其中的所有视图。我认为开发者不负责维护内存,除非它被特别保留。 – 2010-06-15 23:13:04

+0

是的 - 但是如果开发人员过度保留对象或者视图层次结构没有正确拆卸,那么最终会发生泄漏。 – bbum 2010-06-16 16:52:42