美文网首页
OC对象的本质 1--一个OC占用多少内存

OC对象的本质 1--一个OC占用多少内存

作者: 大鹅ne | 来源:发表于2020-04-03 23:34 被阅读0次

OC 对象本质是结构体类型


@interface NSObject :
{
Class isa;
}

struct NSObject_IMPL {
    Class isa; // 8个字节
};

一个NSObject对象占用多少内存?

系统会分配16个字节给NSObject对象(可以通过Malloc_size函数获得)

但NSObject对象内部只使用了8个内存空间(64bit环境下,可以通过class_getInstanceSize函数获得)


struct Student_IMPL {
    Class isa;
    int _no;
    int _age;
};

@interface Student : NSObject
{
    @public

    int_no;

    int_age;

    NSString* _name;

}

@end

@implementation Student

@end
        NSLog(@"%zd", class_getInstanceSize([Student class]));
        NSLog(@"%zd", malloc_size((__bridge const void *)stu));

输出分别为24和32;

isa指针占8个字节,一个int类型4个字节,字符串指针占8个字节,所以占用空间24
又因为自己16倍数对其所以会分配32个字节

相关文章

  • 探寻OC对象的本质

    iOS底层原理总结 - 探寻OC对象的本质 面试题:一个NSObject对象占用多少内存? 探寻OC对象的本质,我...

  • OC 对象的总结

    1 oc对象、类的本质是什么,OC对象的内存布局是什么样子的,一个NSObject对象占用多少内存,一个自定义类的...

  • iOS 底层知识总结

    一、OC语法 1、OC对象的本质 1)一个NSObject对象占用多少内存?A:系统分配16个字节给一个NSObj...

  • OC对象的本质 1--一个OC占用多少内存

    OC 对象本质是结构体类型 即 一个NSObject对象占用多少内存? 系统会分配16个字节给NSObject对象...

  • OC对象占用内存原理 (一文彻底搞懂)

    要想真真切切看到一个OC对象占用多少内存, 实践是必不可少的. 初始OC对象占用内存 创建一个 Command L...

  • OC对象本质

    面试题:一个NSObject对象占用多少内存?探寻OC对象的本质,我们平时编写的Objective-C代码,底层实...

  • Objective-C对象的内存分配

    一个NSObject对象占用多少内存? 本章主要研究一个OC对象在内存中是如何布局和占用多少内存的。后面主要通过把...

  • iOS中OC对象的本质

    一个OC对象在内存中如何布局?以及一个NSObject对象占用多少内存? 我们知道OC的底层语言是c/c++我们平...

  • OC对象的本质(一) ——OC对象的底层实现

    一个NSObject对象占用多少内存? Objective-C的本质 平时我们编写的OC代码,底层实现都是C/C+...

  • 01.OC实例对象的本质

    你知道NSObject实例对象占用了多少内存么?要回答这道题,我们要探索下OC实例对象的本质,而实例对象的本质其实...

网友评论

      本文标题:OC对象的本质 1--一个OC占用多少内存

      本文链接:https://www.haomeiwen.com/subject/koqrphtx.html