美文网首页
iOS内存管理方案

iOS内存管理方案

作者: Shineyok | 来源:发表于2021-12-04 22:38 被阅读0次

    iOS内存管理方案:

    由以下三种方案结合

    Tagged Pointer(64位系统)

    储存NSNumber以及NSDate等类型,以节省内存及提高效率,指针不指向任何地址,指针由标识+值构成

    NONPOINTER_ISA(非指针类型)

    isa指针除了含有内存地址,还含有其他字段

    • 第一位的0或1代表是纯地址isa指针还是NONPOINTER_ISA
    • 第二位代表是否有关联对象
    • 第三位代表是否有C++代码
    • 接下来33位代表指向的内存地址
    • 接下来弱引用标记
    • 接下来dealloc标记等

    (引用计数表和weak表)散列表

    • SideTables在非嵌入式的64位系统里有64张SideTable表
    • 每一张SideTable表主要由三部分组成:自旋锁、引用计数表、弱引用表
    • 全局的引用计数表不存在同一张表里,是为了避免资源竞争,解决效率问题
    • 引用计数表加入了分离锁概念,将一张表拆分为多个部分,对他们分别加锁,使得可以并发操作,提高执行效率

    相关文章

      网友评论

          本文标题:iOS内存管理方案

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