2011-06-06 53 views
1

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

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

这个语句每次有一个alloc时,应该在.m文件的dealloc节中删除?

感谢 托尼

回答

1

你可能想上的苹果开发者网站的内存管理指南阅读起来。基本上你需要有一个releaseautorelease你使用的每个new, copy, or alloc。但理想的版本应该在名为new, copy, or alloc的函数中,而不是在您的dealloc函数中。 dealloc只能用于释放保留在头文件的@property部分中的对象。

3

而不是只听你的同事告诉你的 - 读一读Memory Management Guide

内存管理不是你最后做的事情,因为“清理”这是编程时需要考虑的事情。不要只依靠别人告诉你的是一个经验法则。阅读文档,理解它们,然后使用经验法则来帮助您记住它们是什么。

例如 - 当你在一个方法中创建一个局部变量时,你不能等到dealloc到release那个,因为那么这个变量已经超出了范围,你没有一个对象'请拨打release',并且您有泄漏。所以经验法则是不是什么好事。