sizeof
- sizeof计算的是传入参数的类型的大小
class_getInstanceSize
- class_getInstanceSize计算的是传入的参数(对象)所有属性(对象内部)大小相加之后内存对齐的大小(不要忘记isa;8字节对齐)
想要知道malloc_size计算的方式是怎么计算的,就要知道malloc的流程
malloc流程
1⃣️
2⃣️
3⃣️
这个时候我们发现calloc函数进不去,只能通过跑起来之后断点断在这里,利用汇编看符号,之后进行全局搜索(摁住control下一步,可能会摁很多次下一步才会进入这个函数)
在一大堆代码中找重点就看返回值
4⃣️
5⃣️
发现又是calloc函数,继续断点查汇编符号,之后全局搜索
6⃣️
7⃣️
8⃣️
9⃣️
malloc
- 计算的是一个对象的大小,包括内部属性,也同时不要忘记isa,唯一和class_getInstanceSize不同的是最后为16字节对齐(对象外对齐)