一个 NSObject 对象占用多少内存空间?
对象在分配内存空间时,会进行内存对齐,分配内存空间都是 16字节 的倍数,获取 Obj-C 指针所指向的内存的大小,是16 字节。
#import <malloc/malloc.h> malloc_size((__bridge const void *)obj);
但是实际上在 64位 下,只使用了 8byte;
在32位下,只使用了 4byte
#import <Objc/Runtime>
Class_getInstanceSize([NSObject Class])
实例对象的数据结构
struct objc_object { isa_t isa; //... }
本质上 objc_object
的私有属性只有一个 isa
指针。指向 类对象
的内存地址。