iOS笔记 - retainCount源码解析
引用计数源码解析
1 - 在 64bit 中引用计数可以直接存储在优化过的 isa 指针中,也可能存在 SideTable 中。我们可以回顾下优化后的 isa
2 - 查看源码:引用计数的具体实现
① 打开 SideTable 可以看到引用计数的缩写 refcnts 是一个存放对象引用计数的散列表
② 接下来走一遍底层函数 rootRetainCount
③ 打开 sidetable_getExtraRC_nolock 可以看到返回的引用计数
引用计数源码解析
1 - 在 64bit 中引用计数可以直接存储在优化过的 isa 指针中,也可能存在 SideTable 中。我们可以回顾下优化后的 isa
2 - 查看源码:引用计数的具体实现
① 打开 SideTable 可以看到引用计数的缩写 refcnts 是一个存放对象引用计数的散列表
② 接下来走一遍底层函数 rootRetainCount
③ 打开 sidetable_getExtraRC_nolock 可以看到返回的引用计数