iOS笔记 - retainCount源码解析

发布于 2022年 05月 19日 01:28

引用计数源码解析

1 - 在 64bit 中引用计数可以直接存储在优化过的 isa 指针中,也可能存在 SideTable 中。我们可以回顾下优化后的 isa 

2 - 查看源码:引用计数的具体实现

① 打开 SideTable 可以看到引用计数的缩写 refcnts 是一个存放对象引用计数的散列表

② 接下来走一遍底层函数 rootRetainCount

③ 打开 sidetable_getExtraRC_nolock 可以看到返回的引用计数

 

推荐文章