自动引用计数器

  • 自动引用计数器 Auto Reference Count

iOS 开发目前主流的内存管理方式, 就是让编译器来进行内存管理. 在新一代 Apple llvm 编译器中设置 ARC 为有效状态, 就无需再次键入 retain 或者是 release 代码, 这在降低程序崩溃, 内存泄露等风险的同时, 很大程度上减少了开发程序的的工作量. 编译器完全清楚目标对象, 并能立刻释放那些不再需要被使用的对象. 如此一来, 应用程序将具有可预测性, 且能流畅运行, 速度也将大幅提升.

  • 内存管理

房间开关灯理论, 引用计数器机制
生成对象/持有对象/释放对象/废弃对象

  • 内存管理的思考方式

更加客观, 正确的思考方式是:

  • 自己生成的对象, 自己持有.

  • 非自己生成的对象也能自己持有

  • 不再需要自己持有的对象时释放对象

  • 非自己持有的对象无法释放

  • 对象操作与 Objective-c 对应的方法

对象操作 Objective-C 方法
生成对象 new/alloc/copy/mutableCopy
持有对象 retain
释放对象 release
废弃对象 dealloc
/*
*  自己生成并持有对象
**/
id obj = [[NSObject alloc] init];
/**
*   自己持有对象
*/

[obj release]
/**
*   释放对象
*/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容