iOS内存管理

什么是自动引用计数

  • 自动引用计数(ARC,Automatic Reference Counting)是指内存管理中对引用采取自动计数的技术
  • 自动引用计数降低了程序崩溃、内存泄漏等风险,减少了开发的工作量
  • LLVM 编译器中设置 ARC 为有效状态,就无需再次键入 retain 或者是 release 代码

内存管理的思考方式

  • 自己生成的对象,自己所持有
  • 非自己生成的对象,自己也能持有
  • 不再需要自己持有的对象时释放
  • 非自己持有的对象无法释放
对象操作 Objective-C 方法
生成并持有对象 alloc/new/copy/mutableCopy 等方法
持有对象 retain 方法
释放对象 release 方法
废弃对象 dealloc 方法

autorelease

  • 生成并持有 NSAutoreleasePool 对象
  • 调用已分配对象的 autorelease 实例方法
  • 废弃 NSAutoreleasePool 对象