查看一个NSObject对象占用多少内存
1、引入头文件:
#import <objc/runtime.h>
#import <malloc/malloc.h>
2、代码如下:
NSObject* obj = [[NSObject alloc]init]; // 获取实例对象至少需要分配的内存大小,实际真正占用的大小,8 字节 size_t insSize = class_getInstanceSize([NSObject class]); NSLog(@"NSObject Size:%zd",insSize); // 同上 insSize = class_getInstanceSize([obj class]); NSLog(@"NSObject Size:%zd",insSize); // 获取实际分配内存大小,最终分配的大小,16 字节 size_t mSize = malloc_size((__bridge const void *)obj); NSLog(@"malloc Size:%zd",mSize); // 通过OC的源码可以看出配置对象内存至少有 16字节