记住这一首要的基本原则:任何时候,当你在一个对象上调用了alloc、copy或retan方法,必须在随后的某个时刻调用release方法。
如果你创建了很多的自动释放对象(例如,在一个循环中),那么,在循环开始的时候创建自己的自动释放池并且在结束的时候手动释放它,这常常是有帮助的。这么做可以一箭双雕:不必担心手动创建的对象会导致内存泄漏,同时通过在自己的自动释放池中手动释放可以控制内存的使用从而达到更高效率。程序清单1—5给出创建和使用自己的自动释放池的例子。
提示
在大多数情况下,cocoa Touch框架使用一种命名惯例来确定何时需要释放对象:如果方法的名字以单词alloc、new,或copy开头,那么当我们用完对象的时候就应该调用release。
要了解有关内存管理的更多信息,请参考开发者文档中的《Memory Management Programming Guide for Cocoa》。
展开