zoukankan      html  css  js  c++  java
  • 引用计数器

    1.什么是引用计数器

    • 系统是如何判断什么时候需要回收一个对象所占用的内存?

      • 根据对象的引用计数器
    • 什么是引用计数器

      • 每个OC对象都有自己的引用计数器
      • 它是一个整数
      • 从字面上, 可以理解为”对象被引用的次数”
      • 也可以理解为: 它表示有多少人正在用这个对象

    2.引用计数器的作用

    • 简单来说, 可以理解为:

      • 引用计数器表示有多少人正在使用这个对象
    • 当没有任何人使用这个对象时, 系统才会回收这个对象, 也就是说

      • 当对象的引用计数器为0时,对象占用的内存就会被系统回收
      • 如果对象的计数器不为0,那么在整个程序运行过程,它占用的内存就不可能被回收(除非整个程序已经退出 )
    • 任何一个对象, 刚生下来的时候, 引用计数器都为1

      • 当使用alloc、new或者copy创建一个对象时,对象的引用计数器默认就是1

    3.引用计数器的操作

    • 要想管理对象占用的内存, 就得学会操作对象的引用计数器

    • 引用计数器的常见操作

      • 给对象发送一条retain消息,可以使引用计数器值+1(retain方法返回对象本身)
      • 给对象发送一条release消息, 可以使引用计数器值-1
      • 给对象发送retainCount消息, 可以获得当前的引用计数器值
    • 需要注意的是: release并不代表销毁回收对象, 仅仅是计数器-1

  • 相关阅读:
    面向对象
    标准库内置模块
    json迭代器生成器装饰器
    基本数据操作
    列表元组字典字符串操作
    深入了解Spring之IoC
    认识OAuth 2.0及实例
    web.xml中context-param和init-param的区别
    虚拟机centos6网卡配置及提示Device does not seem to be present
    JUC之深入理解ReentrantReadWriteLock
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6580398.html
Copyright © 2011-2022 走看看