Pro Multithreading and Memory Management for iOS and OS X

多线程开发里的内存问题,一直挺容易让人头大的。ARC 出来后,确实让少操不少心,代码清爽,bug 也少。

苹果从 iOS 5OS X Lion 开始搞的 自动引用计数(ARC),基本把原来那套手动 retainrelease 的流程自动化了。你只管写逻辑,内存回收的事交给编译器搞定,省事。

但要玩得溜,还是得懂点底层,像以前的 allocdeallocautorelease 这些老招,还是会在老项目或某些场景下碰到,懂一点没坏处。

GCD 就更常用了,异步并发基本靠它。创建个 dispatch_queue_t,往里丢个 dispatch_async 就能跑起来,响应也快,代码也简单。适合网络求、图片这类耗时操作。

顺带一提,Block 也别忽视,写回调、封装逻辑都顺手,还能捕获上下文变量。配合 GCD,用起来更香,比如写个批量任务或者动画执行,省代码。

如果你还在摸索怎么把 ARC、GCD 和 Block 用得更舒服,不妨翻翻这篇文章。讲得挺细,例子也接地气,刚入门或者查漏补缺都挺合适的。

额外推荐几个相关资料,配着看效果更好:GCD 多线程并发开发Block 与 GCD 应用实例

如果你正准备优化老项目或者提升新项目性能,建议从 ARC 的细节入手,GCD 和 Block 的配合用得溜,基本就能把性能和代码整洁度都提上去。

pdf 文件大小:5.63MB