Object C 内存管理的几个要点.

记住这几点:

  • 匹配原则:alloc或者copy得到的对象已经有计数器为1了,retain会使得计数器加1,这三种使用都要匹配对应的release或者autorelease。
  • 何时retain:得到一个返回的对象后,如果你想长期使用它,需要做retain。
  • 何时autorelease:当需要返回对象给上层,而自己又不想使用这个对象时,需要做autorelease,这样才能让调用者有机会去做retain,当然autorelease的开销比较大。
  • retain循环:仔细设计对象的owner关系,避免retain循环。
  • 特殊情况:在需要 release和retain的情况下(比如改变一个对象的owner),可能需要先额外做一个retain,否则可能release会造成对象失效,当然也要补一个release。

More : http://www.stepwise.com/Articles/Technical/HoldMe.html

原文地址:https://www.cnblogs.com/cnsoft/p/1382394.html