iOS中NSObject對(duì)象占多少內(nèi)存

在iOS系統(tǒng)中,系統(tǒng)分配了16byte(16字節(jié))內(nèi)存空間,可通過(guò)malloc_size()函數(shù)獲取字節(jié)數(shù),class_getInstanceSize()函數(shù)獲取實(shí)例對(duì)象占用空間大小。但實(shí)際上,一個(gè)NSObject對(duì)象內(nèi)部在64bit(64位架構(gòu))下只用了8byte(8字節(jié))空間,在32bit(32位架構(gòu))下只用了4byte(4字節(jié))空間,原因在于系統(tǒng)分配內(nèi)存空間規(guī)律是16的倍數(shù)

// 16個(gè)字節(jié)
NSObject *obj = [[NSObject alloc] init];

// 獲得NSObject實(shí)例對(duì)象的成員變量所占用的大小 >> 8
NSLog(@"%zd", class_getInstanceSize([NSObject class]));

// 獲得obj指針?biāo)赶騼?nèi)存的大小 >> 16
NSLog(@"%zd", malloc_size((__bridge const void *)obj));

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容