美文网首页iOS面试
iOS Runtime面试题(一个 NSObject 对象占用多

iOS Runtime面试题(一个 NSObject 对象占用多

作者: 程序员_秃头怪 | 来源:发表于2019-08-01 16:18 被阅读0次

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

受限于内存分配的机制,一个 NSObject对象都会分配 16Bit 的内存空间。

但是实际上在 64位 下,只使用了 8bit;
在32位下,只使用了 4bit

一个 NSObject 实例对象成员变量所占的大小,实际上是 8KB

#import <Objc/Runtime>
Class_getInstanceSize([NSObject Class])

本质是

size_t class_getInstanceSize(Class cls)
{
    if (!cls) return 0;
    return cls->alignedInstanceSize();
}

获取 Obj-C 指针所指向的内存的大小,实际上是16KB

#import <malloc/malloc.h>
malloc_size((__bridge const void *)obj); 

对象在分配内存空间时,会进行内存对齐,所以在 iOS 中,分配内存空间都是 16字节 的倍数。

可以通过以下网址 :openSource.apple.com/tarballs 来查看源代码。

面试题持续整理更新中,需要拿到第一手大厂面试题及答案文档可以添加 iOS进阶学习交流群:551346706 !结实人脉、讨论技术你想要的这里都有!

相关文章

  • 探寻OC对象的本质

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

  • 底层原理:OC对象的本质

    面试题 一个NSObject对象占用多少内存? 准备工作 我们新建一个demo来探究:一个NSObject对象占多...

  • iOS Runtime面试题(一个 NSObject 对象占用多

    一个 NSObject 对象占用多少内存空间? 受限于内存分配的机制,一个 NSObject对象都会分配 16Bi...

  • iOS底层原理-OC对象的本质

    面试题:一个NSObject对象占用多少内存? 作为一个iOS开发人员来说,iOS底层原理是必须要掌握的知识。虽然...

  • Objective-C对象的本质

    面试题 一个 NSObject 对象占用多少内存? 系统分配了16个字节给NSObject对象(通过malloc_...

  • iOS-Class

    面试题 一个NSObject对象占用多少内存? 系统分配了16个字节给NSObject对象(通过malloc_si...

  • 底层1:OC对象本质

    面试题:一个NSObject对象占用多少内存? 系统分配了16个字节给NSObject对象(通过malloc_si...

  • iOS底层原理 - OC对象的本质(一)

    面试题引发的思考: Q: 一个NSObject对象占用多少内存? 系统分配了16个字节给NSObject对象(通过...

  • iOS底层原理-OC对象的本质

    从一道面试题开始 Q:一个OC对象占用多少内存?该问题即是问NSObject *obj = [[NSObject ...

  • 探索NSObject对象的本质

    大家在iOS面试的时候,是否遇到这样的面试题:一个NSObject对象占用多少内存?(我们知道不同的平台支持的代码...

网友评论

    本文标题:iOS Runtime面试题(一个 NSObject 对象占用多

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