iOS 5ARC完全指南
iOS 5 的 ARC 完全指南,讲真挺值得一读。苹果当年搞出的这个自动引用计数(ARC)机制,确实帮省了不少事。以前动不动就 retain
、release
,一不小心就泄漏,现在全自动,干脆利落。
ARC 的核心其实就是编译器替你插代码——啥时候该加 retain
、啥时候 release
,它都帮你搞定。你只管写业务逻辑就行,效率提升不止一点点。
Xcode 里支持也比较全,不仅能一键开启 ARC,还有静态,能找出潜在内存问题。用惯了真回不去了。
属性这块需要注意点,尤其是 strong 和 weak。比如在 delegate
里,如果你没用 weak
,一不小心就循环引用。还有 readonly,也挺有用的,能避免数据被不小心改了。
你要是在写 block、搞 singleton 或用 delegate 的时候,一定得对 ARC 的行为有点数,不然内存泄漏悄悄给你留坑。
AutoreleasePool 现在也还在,只是用法变了。一般写 @autoreleasepool {}
,手动控制下释放时机,能提升性能,尤其是循环里创建对象的时候。
用 Cocos2D 或 Box2D 写游戏的也别忽视 ARC。框架里有些原生内存管理机制,跟 ARC 搭配不当,也容易出问题。
静态库的话,要注意 ARC 和非 ARC 混编的问题。设置下编译参数或者用 toll-free bridging,能避免冲突。
如果你还在用非 ARC 项目,不如参考下这篇指南,循序渐进迁移挺香的。文中有详细步骤和注意事项,少踩坑。
,《iOS 5 ARC 完全指南》内容还挺全,讲得也细。如果你还在手动管内存,是时候给自己减负了。
1.36MB
文件大小:
评论区