内存管理时程序设计中常见的资源管理的一部分。但是由于每个使用的资源都是有限的,所以如何更好的使用好这些资源就是问题所在。
1。对象的生命周期,每个对象都有生命周期,
2。引用计数,Cocoa采用的是引用计数(reference counting)。当使用alloc,new和copy是,创建一个对象。对象的保留计数器会设置为1。增加对象的保留计数器是用retain消息,减少用release消息。当一个对象因保留计数器归0而被销毁时,会自动发送一条dealloc消息。
3。自动释放 description方法。
4。自动释放池(autorelease)方法,[pool release]销毁自动池 [pool drain]清空自动池。了解它的工作过程。
5。Cocoa内存管理规则
a。当使用new alloc 或copy方法创建一个对象时,该对象保留计数器值,当不再使用对象时要发送一条release或autorelease消息。
b。当通过其他方法创建对象时,如果设置为自动释放,不需要执行任何操作。如果在一段时间内使用,确保在使用完成时释放它。
c。如果保留了对象,最终释放或自动释放对象时,必须保持retain方法和release方法的使用次数相等。
6。清理自动释放池
7。垃圾回收