2012.2.13 Object-c复习笔记  内存管理

1.#import 引入头文件 可以避免在C和C++中用#include而导致的头文件被多次包含的情况
2.在Object-c中 布尔类型应采用BOOL YES NO来定义

当函数返回一个对象时 对象应该采取autorelease来释放

如果您正在编写一个不是基于Application Kit的程序,比如命令行工具,则没有对自动释放池的内置支持;您必须自己创建它们。

如果您生成了一个从属线程,则一旦该线程开始执行,您必须立即创建您自己的自动释放池;否则,您将会泄漏对象。(详情请参考自动释放池和线程。)

如果您编写了一个循环,其中创建了许多临时对象,您可以在循环内部创建一个自动释放池,以便在下次迭代之前销毁这些对象。这可以帮助减少应用程序的最大内存占用量。

自动释放池是按序使用的。一般情况下,您不应该将自动释放池作为某个对象的实例变量。

Cocoa应用程序中的每个线程都会维护一个自己的NSAutoreleasePool对象的堆栈。当一个线程终止时,它会自动地释放所有与自身相关的自动释放池。


posted @ 2012-02-13 16:34  SEC.VIP_网络安全服务  阅读(88)  评论(0编辑  收藏  举报