在Objective-c中释放对象时实际发生了什么?

时间:2011-09-28 17:49:02

标签: objective-c memory memory-management dealloc heap-memory

我想在较低的层次上理解Objective-c的内存管理。假设我在堆上分配了100个字节给某个Objective-c对象。 当对象为dealloc时,此100字节块会发生什么?

我很好奇运行时如何知道在dealloc'之后可以重用的内存块。实际字节会发生什么变化?它们是否设置为随机值?或者他们可能会保留他们的价值,之后会被其他物品覆盖。

1 个答案:

答案 0 :(得分:2)

他们保留了自己的价值,但被标记为未使用且可以覆盖。

这种行为就像malloc& C中的自由功能。