OC 实例对象,
是
objc_object , 8 字节
objc_object 持有 class 的 isa
Swift 的 class 实例,
16 字节,
有一个 8 字节的 metadata,
多了一个 8 字节的 refcount 的指针
- 查看实例大小
class A_a{
var aga = 8
var name = "s_a"
}
let b_a = A_a()
print(class_getInstanceSize(A_a.self))
class A_b{}
class A_a{
var aga = 8
var name = "s_a"
}
let b_a = A_a()
print(class_getInstanceSize(A_b.self))
print(MemoryLayout<String>.stride)
print(class_getInstanceSize(A_a.self))
本文探讨了Objective-C的实例对象objc_object的结构,它占用8字节,包含isa指针指向类。相比之下,Swift的class实例为16字节,除了8字节的metadata,还包含一个8字节的引用计数指针。通过`class_getInstanceSize`方法展示了不同类实例的大小,强调了Swift实例的额外内存开销。
849

被折叠的 条评论
为什么被折叠?



