iOS NSObject对象内存大小
NSObject内存大小
类的本质是结构体 无须赘述
struct NSObject {
Class isa;
};
一个类对象的实例大小是8个字节
之所以打印出的16个字节,是因为一个NSObject 最小开辟16个字节
NSObject *obj = [[NSObject alloc]init];// class_getInstanceSize 这是runtime 获取一个类对象的实例大小的方法// 打印结果是 8NSLog(@"%zd",class_getInstanceSize([NSObject class]));// 对象指针的大小// /* Returns size of given ptr */// 打印结果是16NSLog(@"%zd",malloc_size((__bridge const void *)obj));
int 类型的占有4个字节,isa 类型的占有8个字节,定义一个对象,有3个int 属性,实际大小为 8 + 3 * 4 = 20 字节,则打印出的类对象大小为 24个字节,而开辟的指针内存应该是32个字节。
因为内存对齐的规则,要从4的整数倍地址开始存储, 所以是有4个byte是空的,所以打印出来是24个字节。
@interface StudentA : NSObject{@publicint _age1;int _age2;int _age3;// NSString * _lastname;
}@endStudentA *a = [[StudentA alloc]init]; // 打印结果是24NSLog(@"%zd",class_getInstanceSize([StudentA class]));// 打印结果是32NSLog(@"%zd",malloc_size((__bridge const void *)a));
iOS NSObject对象内存大小相关推荐
- Java对象内存大小计算
背景 今天办公室两个人事妹子因为一道Java试题各持己见,誓死捍卫自己的答案(对,是HR没错 -- 程序猿快没活路了). 题:字符串 "7天学会JAVA" 占用的内存空间是 ( ) ...
- java char占用多少字节_Java虚拟机:Java对象大小、对象内存布局及锁状态变化
一个对象占多少字节? 关于对象的大小,对于C/C++来说,都是有sizeof函数可以直接获取的,但是Java似乎没有这样的方法.不过还好,在JDK1.5之后引入了Instrumentation类,这个 ...
- Java对象内存空间大小计算
一.查看基础类型的对象内存大小 八股文中很明确的告诉你了基础类型的大小 ,如下图: 类型 值大小(byte) 对象内存大小(byte) 备注 byte 1 16 char 2 16 int 4 16 ...
- 1 OC 对象的本质(一个NSObject 对象占用的内存大小)
1 前言 目录 1 前言 2 一个NSObject占用多少内存 3 为什么呢 ? 4 如何在内存中看呢? OC 的面向对象都是基于C/C++ 的数据结构实现的 结构体 2 clang 命令转换成c++ ...
- 一个NSObject对象占多少内存?
以下都是在64bit环境下操作: 我们平时编写的Objective-C代码,底层实现其实都是C\C++代码 在这里我们将main.m 使用clang转成c++文件,也就是在终端输入 xcrun -sd ...
- 2 OC 对象的本质(一个Student 占用的内存大小)
一 Student 占用的内存空间 补充: 1 成员变量占用字节的大小: 2 内存对齐的规则:结构体的内存大小必须是最大成员变量的内存的倍数. 一个 Student 类,继承自NSObject,有两个 ...
- C# 利用WMI对象获取物理内存和可用内存大小
下面的代码演示的是使用WMI对象可获取取物理内存和可用内存大小,在使用WMI对象前,先要添加对System.Management的引用,然后就可以调用WMI对象,代码如下: //获取总物理内存大小Ma ...
- Java计算一个对象所占内存大小_Java程序计算各种对象所占内存的大小的方法
System.out.println("--- Memory Usage:"); /*打印一行字符串---Memory Usage*/ Runtime rt=Runtime.get ...
- 深度探索C++ 对象模型(2)-类的对象的内存大小_2
继续上文,看看继承类的大小 1. Bear类 类对象的大小为24: 16+8 class Bear : public ZooAnimal { public:Bear() {};~Bear() {}; ...
最新文章
- 科大星云诗社动态20210311
- 京东数据产品专家分享“如何转行数据产品经理​?”
- 如何编写一份合格的测试计划
- 二维haar小波matlab_洪泽湖入湖水沙序列的多时间尺度小波分析
- 1201-统计数字问题
- IOS自己主动布局中的浮动布局(6)----MyFloatLayout横空出世
- 给WP7初学者:《WP7 Dev Quick Start系列视频》
- 原生javascript的树形插件tree.js(纯原生js,无需引用其他js)
- 最好用的jQuery日期插件合集,前端设计必备素材
- 电脑下载了自动捆绑怎么办?一招秒杀!
- 保留小数 Java Decimals
- 使用ESP8266驱动TFT显示屏
- [11.02] 猴猴吃香蕉
- 自增,自减(java为例)
- Android组件系列——Content Provider
- 学习黑盒优化算法CMA和RandomSearch,借助阿里达摩院MindOpt的RABBO榜单【系列2/4】
- 差异分析流程(一)数据预处理
- 数据中心如何安全渡过炎炎夏日
- iText生成pdf文书
- 日本最大的社交APP Line的服务架构(1)
热门文章
- [转]Ext Grid控件的配置与方法
- POJ1001--Exponentiation(幂计算)翻译
- 【转载】图像缩放与插值理论基础
- 【OpenCV】图像/视频相似度测量PSNR( Peak signal-to-noise ratio) and SSIM,视频/图片转换
- 三维重建【三】-------------------(三维重建资料收集)
- google breakpad native crash分析工具
- Linux系统的大小端模式
- 关闭页面不用提示的方法
- 使用VS.NET2003编写存储过程
- Shell脚本基础介绍