美文网首页
内存管理:引用计数的存储

内存管理:引用计数的存储

作者: 东方诗空 | 来源:发表于2022-05-05 10:22 被阅读0次

引用计数的存储

isa

  • 从arm64架构开始,对isa进行了优化,变成了一个共用体(union)结构,还使用位域来存储更多的信息


    image.png
  • extra_rc
    里面存储的值是引用计数器减1

  • has_sidetable_rc
    引用计数器是否过大无法存储在isa中
    如果为1,那么引用计数会存储在一个叫SideTable的类的属性中

引用计数器

在64bit中,引用计数可以直接存储在优化过的isa指针中,也可能存储在SideTable类中


image.png

在64bit中,引用计数可以直接存储在优化过的isa指针中,也可能存储在SideTable类中

底层源码

image.png

相关文章

  • Obj-C高级编程--内存管理

    自动引用计数 自动引用计数:指内存管理中对引用采取自动计数的技术。 内存管理/引用计数 持有对象引起引用计数加...

  • OC内存管理--引用计数器

    原文链接OC内存管理--引用计数器 引用计数的存储策略 有些对象如果支持使用TaggedPointer,苹果会直接...

  • python内存管理

    python内存管理是通过引用计数来实现的。当对象的引用计数为0时,会被gc回收。 为了探索对象在内存的存储,我们...

  • 内存管理与自动引用计数—第一日

    自动引用计数 1.1 什么是自动引用计数 内存管理中对引用采用自动计数的计数 1.2 内存管理/引用计数 这一张举...

  • Effective Objective-C 2.0笔记(四)

    第五章 内存管理 第29条:理解引用计数 OC使用引用计数管理内存,引用计数机制通过递增递减的计数器来管理内存。对...

  • iOS内存管理1:引用计数

    iOS内存管理1:引用计数 引用计数: Objecttive-C使用引用计数来进行内存管理。然后,引用计数其实是不...

  • 内存管理-引用计数的存储

    在iOS中,内存管理是通过引用计数来管理的,那么对象的引用计数值存储在哪里?在Runtime(一)中介绍了isa指...

  • EffectiveObjective-C2.0 笔记 - 第五部

    5 内存管理 5.1 理解引用计数 1、引用计数 Objective-C 语言使用引用计数来管理内存,每个对象都有...

  • Objective-C高级编程之内存管理篇

    iOS的内存管理是采用引用计数的方式,引用计数分为手动引用计数和自动引用计数(ARC)。前者要求开发者手动管理内存...

  • iOS内存管理

    一.内存管理 /引用计数 Objective-C 中的内存管理,也就是引用计数 1.1内存管理的思考方式 自己生成...

网友评论

      本文标题:内存管理:引用计数的存储

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