首页 > 其他 > 详细

Objective-C内存管理机制

时间:2017-09-15 01:25:32      阅读:263      评论:0      收藏:0      [点我收藏+]

Objective-C内存管理机制分成两种:MRC和ARC

(1)MRC (Manual Reference Counting)

  • 当前系统默认都是采用ARC,如果想使用MRC需要在build settings里把Objective-C Automatic Reference Counting设置成No。
  • 通过类对象的retainCount属性可以查询该类的引用计数
  • 通过类对象的retain方法可以将引用计数加一
  • 通过类对象的release方法可以将引用计数减一
  • 当引用计数为0时,系统自动调用dealloc析构函数,不要在代码里显式调用
  • autorelease和@autoreleasepool配合使用,当对象超出@autoreleasepool范围的时候,引用计数会被减一。

  @autoreleasepool{

     //如果加上[A retain] 就不会被释放

     //[A retain]

    A* a = [ [ [A alloc] init] autorelease];

  }

 

(2)ARC(Automatic Reference Counting)

  • 在ARC模式下,autorelease,retain,release,retainCount
  • 在ARC模式下,在delloc函数中不能写[super delloc]
  • ARC由编译器添加retain和release

Objective-C内存管理机制

原文:http://www.cnblogs.com/jacky1982/p/7524103.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!