最好的内存管理例程

时间:2011-06-06 16:37:28

标签: iphone xcode dealloc

我正在编写iPhone应用程序,现在是时候开始清理内存了。

通过比我更好的程序员,我被告知每次执行alloc时,我应该在模块的末尾释放内存。

这句话是否每次有一个alloc时,应该在.m文件的dealloc部分删除?

感谢 贝

2 个答案:

答案 0 :(得分:3)

不要只听你的同事告诉你的内容 - 请阅读Memory Management Guide

内存管理不是你最后做的事情,因为'清理'是你在编程时需要考虑的事情。不要只依赖某人告诉你的经验法则。阅读文档,了解它们,然后使用经验法则帮助您记住它们是什么。

例如 - 在使用alloc的方法中创建局部变量时,您不能等到dealloc到release它,因为那时该变量已超出范围,没有一个对象可以调用release,并且您有泄漏。所以经验法则没有任何好处。

答案 1 :(得分:1)

您可能需要阅读Apple开发者网站上的内存管理指南。基本上,您需要为每个release使用autoreleasenew, copy, or alloc。但理想情况下,发布应该在调用new, copy, or alloc的函数中,而不是在dealloc函数中。 dealloc只应用于释放保存在头文件的@property部分中的对象。