【发布时间】:2012-01-24 04:28:47
【问题描述】:
我已阅读 Apple 的内存管理指南,并认为我了解应遵循的做法以确保在我的应用程序中进行正确的内存管理。
目前看来我的代码中没有内存泄漏。但是随着我的代码变得越来越复杂,我想知道是否应该遵循任何特定的模式来跟踪对象的分配和释放。
创建在整个应用程序执行过程中存在的某种全局对象是否有意义,该对象包含某种类型的活动对象的数量?每个对象都可以在其 init 方法中增加其类型的计数,并在 dealloc 中减少它。全局对象可以在适当的时候验证特定类型的计数是否为零。
编辑:我也知道如何使用泄漏,以及如何使用 Xcode 分析项目。发布此帖子的原因是跟踪可能无法通过泄漏检测或分析的案例。
编辑:另外,拥有这样的东西似乎是有意义的,这样可以通过运行检查全局对象的单元测试来及早在构建中检测到泄漏。我想作为一个没有经验的 Objective-c 程序员,我会从其他人的观点中受益。
【问题讨论】:
-
使用
[anObject retainCount]总是可以找到一个对象的retain count,所以你的系统是不必要的。 -
@gurooj 正如ocumentation for
-retainCount本身所说,您不应该使用该方法来调试内存管理(或其他任何东西)。
标签: objective-c memory-management memory-leaks memory-leak-detector