内存管理
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
在面向对象的语言里,准确地释放每一个不再需要的对象,变成了一种挑战。在Objective-C语言中,提供了三种管理内存的方法。
-直接管理法
完全由你自己来管理,你用alloc
或者copy
方法为对象分配内存,当对象没用了,你就必须dealloc
它。所谓内存管理就是你自己来管理,这样的代码效率很高,但是非常容易出错。
-引用计数法(Retain count)
Objective-C中提供了一个获取/释放(Retain/Release
)的机制,以及autorelease pool
(自动释放池)来进行自动的内存管理。这是一种非常有效的内存管理机制,只是需要了解一些简单的规则。
-垃圾回收(Garbage collection)
就像Java或者Python语言中的垃圾回收机制一样,当你忘记清理对象时,系统会自动识别哪些对象仍然在使用,哪些对象可以回收。
不过请注意,如果你开发iPhone
软件,则不能使用垃圾回收。
针对上面三种方式,我们的建议是使用第二种:引用计数法(Retain count)。
在线练习
{$ activeFileHint $}