iOS 5ARC完全指南

iOS 5 的 ARC 完全指南,讲真挺值得一读。苹果当年搞出的这个自动引用计数(ARC)机制,确实帮省了不少事。以前动不动就 retainrelease,一不小心就泄漏,现在全自动,干脆利落。

ARC 的核心其实就是编译器替你插代码——啥时候该加 retain、啥时候 release,它都帮你搞定。你只管写业务逻辑就行,效率提升不止一点点。

Xcode 里支持也比较全,不仅能一键开启 ARC,还有静态,能找出潜在内存问题。用惯了真回不去了。

属性这块需要注意点,尤其是 strongweak。比如在 delegate 里,如果你没用 weak,一不小心就循环引用。还有 readonly,也挺有用的,能避免数据被不小心改了。

你要是在写 block、搞 singleton 或用 delegate 的时候,一定得对 ARC 的行为有点数,不然内存泄漏悄悄给你留坑。

AutoreleasePool 现在也还在,只是用法变了。一般写 @autoreleasepool {},手动控制下释放时机,能提升性能,尤其是循环里创建对象的时候。

Cocos2DBox2D 写游戏的也别忽视 ARC。框架里有些原生内存管理机制,跟 ARC 搭配不当,也容易出问题。

静态库的话,要注意 ARC 和非 ARC 混编的问题。设置下编译参数或者用 toll-free bridging,能避免冲突。

如果你还在用非 ARC 项目,不如参考下这篇指南,循序渐进迁移挺香的。文中有详细步骤和注意事项,少踩坑。

,《iOS 5 ARC 完全指南》内容还挺全,讲得也细。如果你还在手动管内存,是时候给自己减负了。

pdf 文件大小:1.36MB