Objective-C对内存的管理: • 每个对象都有一个引用计数器,每个新对象的计数器是1,当对象的计数器减为0时,就会被销毁 • 通过retain可以让对象的计数器+1、release可以让对象的计数器-1 • 还可以通过autorelease pool管理内存 • 如果用ARC,编译器会自动生成管理内存的代码
内存管理的几条原则: • 只要调用了alloc、copy、new方法产生了一个新对象,都必须在最后调用一次release或者autorelease • 只要调用了retain,都必须在最后调用一次release或者autorelease • @property如果用了copy或者retian,就需要对不再使用的属性做一次release操作 • 如果用了ARC,另外讨论
|