内存管理原理
两张表
1.引用计数表 (引用计数值, 是否为弱引用)
2.引用地址表
当对象将要被销毁时, 判断是否为弱引用, 有弱引用遍历弱引用地址列表设置为nil执行销毁操作
Runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其实是一个hash(哈希)表,Key是所指对象的地址,Value是weak指针的地址(这个地址的值是所指对象指针的地址)数组。
-
表的
key
是对象的内存地址; -
value
是指向该对象的所有弱引用的指针;