
1.png

2.png
在arm64之前isa就是普通的指針,只存儲類對象,元類對象的指針,但是arm64之后,isa做了優(yōu)化,采取了共用體結(jié)構(gòu),將一個64位的內(nèi)存數(shù)據(jù)分開存儲了很多東西,其中33位用來存儲地址值

3.png

4.png

5.png

6.png

7.png

8.png
右邊數(shù)第二位是1與has_assoc相對,說明有關(guān)聯(lián)對象

9.png

10.png

11.png
這個剛好是弱引用為1,所以通過isa,可以搞清楚,是否有關(guān)聯(lián)對象,是否弱引用過
如果沒有設(shè)置過關(guān)聯(lián)對象和弱引用的話,會釋放的更快,從下面的源碼中可以看到

12.png
轉(zhuǎn)載至:https://blog.csdn.net/u012581760/article/details/81230721