探索iOS游戏开发:ARC、cocos2d与Kobold2D的魅力
1. 自动引用计数(ARC)的优势
在iOS开发中,内存管理一直是一个关键问题。过去,Objective - C程序员需要手动处理对象的引用计数,以避免内存泄漏和崩溃。而现在,自动引用计数(ARC)的出现改变了这一局面。
ARC会在需要时自动为你插入自动释放语句。它遵循一套简单的规则,这些规则以前每个Objective - C程序员都必须手动遵循。如果由人工来做这项工作,很容易出现更多错误,而ARC不仅能完美地完成这项工作,还能优化你的代码。例如,在手动引用计数中,你可以多次保留对象,但ARC能识别出何时额外的保留是不必要的,并省略它们。
现在,编译器接管了在内存中保留和释放对象的繁琐工作,所有代码都可以使用ARC。这意味着你需要编写的代码行数更少,潜在的错误也更少。
Objective - C程序员对ARC最大的两个担忧是失去控制和学习新的编程范式。但这两个理由都不成立。可以把ARC类比为汽车的自动变速器,而手动引用计数就像手动换挡。离开离合器和变速杆的世界,你真的失去了控制吗?是的,但这并不是你真正需要的控制。你需要学习新东西吗?不,你只需要摒弃一些旧习惯,实际上需要做的事情更少了。
手动换挡时,即使驾驶多年,你也可能容易错过某个挡位,可能会损坏发动机,这相当于过度释放或过度保留对象。你也可能时不时地用离合器熄火,这相当于由于悬空(过度释放)指针导致应用程序崩溃。而自动变速器,发动机总是以最佳速率换挡,通常会降低燃油消耗率,这相当于避免了内存泄漏。
总之,ARC并没有剥夺你的控制权,你仍然可以控制对你的应用程序重要的一切。需要比ARC提供的更多内存管
超级会员免费看
订阅专栏 解锁全文

57

被折叠的 条评论
为什么被折叠?



