美文网首页
理解引用计数--Effective笔记

理解引用计数--Effective笔记

作者: 夜者无念 | 来源:发表于2017-05-25 11:12 被阅读11次

    Objective-C语言使用引用计数来管理内存,也就是说每个对象都有个可以递增或递减的计数器。

    一个对象刚被创建出来 计数器 从0 -> 1 (new,alloc,copy : +1)
    如果要让这个对象持续存活 就递增计数器 (retain:+1)
    想让这个对象销毁 就递减计数器 -> 0 (release :-1)

    除了这几个方法影响引用计数外,还有autoreleas 这个方法是延后递减计数,不会一调用就计数减一。

    最终保留计数归零时,对象就回收了,也就是说系统会将其占用的内存标记为“可重用”。此时所有指向该对象的引用也变的无效了。
    注意:当计数器降至0 ,对象会回收,但是可能不会立即回收,因为对象所占的内存在“解除分配”之后,只是放回“可用内存池”。如果在未覆写对象内存时去操作这个对象,该对象仍然会有效。所以我们使用对象释放方法后,会让变量指向nil,来防止这个难发现的问题。

    相关文章

      网友评论

          本文标题:理解引用计数--Effective笔记

          本文链接:https://www.haomeiwen.com/subject/gkiaxxtx.html