游戏开发:ARC、cocos2d与Kobold2D的深度解析
1. ARC自动引用计数的优势
ARC(自动引用计数)在Objective - C编程中带来了巨大的变革。它会在需要的时候自动处理autorelease语句,遵循一套简单的规则,避免了内存泄漏和崩溃问题。在手动引用计数时,开发者可能会多次retain对象,而ARC能识别出不必要的retain操作并省略它们,优化了代码。
ARC的出现让编译器接管了内存中对象的保留和释放这一繁琐工作。使用ARC后,代码行数减少,潜在的错误也随之减少。
Objective - C程序员对ARC存在两个主要担忧:失去控制权和学习新的编程范式。但这两个理由并不充分。可以将ARC类比为汽车的自动变速器,手动引用计数则像是手动换挡。放弃手动换挡并不意味着失去了真正需要的控制权,而且也不需要学习太多新东西,只需要摒弃一些旧习惯。
手动换挡可能会挂错档,损坏发动机,这就好比过度释放或过度保留对象;有时还会因离合操作不当导致发动机熄火,类似于因悬空指针(过度释放)导致应用崩溃。而自动变速器能让发动机以最佳速率换挡,降低油耗,对应到编程中就是避免内存泄漏。
ARC并没有剥夺开发者的控制权,开发者仍然可以控制应用中重要的一切。所谓失去控制权的问题更多是心理上的,可能源于对ARC工作原理的误解。关于学习方面,确实有一些关于ARC的知识需要了解,但与程序员日常学习的内容相比,这只是很少的一部分,而且对于刚接触Objective - C的人来说,比学习手动引用计数要容易得多。可以通过阅读Apple的
超级会员免费看
订阅专栏 解锁全文
102

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



