天天看点

Objective-C----autorelease pool

autorelease pool 使用注意事项:

  1. 在 ARC 下,不能使用 [ [ NSAutoreleasePool alloc ] init ] ,而应当使用 @autoreleasepool ;
  2. 不要把大量循环操作放到同一个 NSAutoreleasePool 之间,这样会造成内存峰值的上升 ;
  3. 尽量避免对大内存使用该方法,对于这种延迟释放机制,还是尽量少用 ;
  4. sdk 中一般利用静态方法创建并返回的对象都是已经 autorelease 的,不需要再进行 release 操作 ; 例如: [ NSNumber numberWithInt : 10 ] ; 返回的对象是不需要再 release 的 ; 但是通过 [ [ NSNumber alloc ] initWithInt : 10 ] 创建的对象需要 release ;
  5. 任何在花括号里定义的变量在括号外就无法使用了。这就是典型的 C 语言中的有效范围,比如说循环代码。