1.png
2.png
在arm64之前isa就是普通的指針,只存儲(chǔ)類對(duì)象,元類對(duì)象的指針,但是arm64之后,isa做了優(yōu)化,采取了共用體結(jié)構(gòu),將一個(gè)64位的內(nèi)存數(shù)據(jù)分開存儲(chǔ)了很多東西,其中33位用來(lái)存儲(chǔ)地址值
3.png
4.png
5.png
6.png
7.png
8.png
右邊數(shù)第二位是1與has_assoc相對(duì),說(shuō)明有關(guān)聯(lián)對(duì)象
9.png
10.png
11.png
這個(gè)剛好是弱引用為1,所以通過(guò)isa,可以搞清楚,是否有關(guān)聯(lián)對(duì)象,是否弱引用過(guò)
如果沒(méi)有設(shè)置過(guò)關(guān)聯(lián)對(duì)象和弱引用的話,會(huì)釋放的更快,從下面的源碼中可以看到
12.png
轉(zhuǎn)載至:https://blog.csdn.net/u012581760/article/details/81230721