怎么知道一个NSObject对象占用多少内存?
#import <Foundation/Foundation.h>
#import <objc/runtime.h>
#import <malloc/malloc.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSObject *objc = [[NSObject alloc] init];
NSLog(@"objc对象实际需要的内存大小: %zd", class_getInstanceSize([objc class]));
NSLog(@"objc对象实际分配的内存大小: %zd", malloc_size((__bridge const void *)(objc)));
}
return 0;
}
//输出的结果
2018-08-02 23:31:39.891056+0800 OC对象的本质[8461:5063635] objc对象实际利用的内存大小: 8
2018-08-02 23:31:39.891320+0800 OC对象的本质[8461:5063635] objc对象实际占用的内存大小: 16Last updated