对于iOS的最新版本,Apple已经为Objective-C实现了自动引用计数,但我不明白它的作用。
答案 0 :(得分:12)
自动引用计数在编译时按照常规约定为您插入retain
和release
消息。所以它就像你自己手动完成内存管理一样,除了编译器足够智能以便能够为你编写那个位,并且更不容易出错。
所以它不是垃圾收集,它更像是一种(非常简单的)静态分析形式。根据下面Catfish_Man提出的警告,你仍然可以获得压倒性的确定性内存管理和运行时成本的整体变化。
答案 1 :(得分:1)
自动引用计数实现了Objective-C对象和块的自动内存管理,使程序员免于明确插入保留和释放的需要。 它不提供循环收集器;用户必须明确管理生命周期。
阅读此规范 - Automatic Reference Counting