黑马程序员技术交流社区

标题: OC 的 alloc、retain、release的一点学习 [打印本页]

作者: QQ2544    时间: 2015-8-7 19:45
标题: OC 的 alloc、retain、release的一点学习
  alloc函数是创建对象使用,创建完成后计数器加 1   只使用一次
  retain 是对一个对象的计数器加1                                 可以调用多次
release 是对一个对象的计数器减 1                              减到0 对象就会从内存中释放掉

  内存管理总结

1: Objetctive-C的内存管理机制与.net/java那种全自动的立即回收机制是不同的,它本质上还是C语言中的手动管理方式,只不过稍微加了一些自动方法。
2:Objective-C的内存管理是基于引用计数的。要做的事情只是关注的引用,而释放内存的工作实际上由运行环境完成。
3:在最简单的情形中,分配的(alloc)对象,或者是保留(retain)在一些地方的对象,都需要发送一个release消息。这也意味着,如果使用了一次alloc,然后又retian了一次,那你需要release两次才能释放该对象的内存。

感觉和java相比,OC的内存管理还是很不一样的
作者: MEIMEIAA    时间: 2015-8-7 20:55
太棒啦 有学习知识了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2