2

dealloc在内存压力下会被调用吗?如果是真的,它是在之前didReceiveMemoryWarning还是之后调用?另外,当视图控制器被释放时,确定dealloc会被调用吗?

4

2 回答 2

3

没有关系,didReceiveMemoryWarning 让您有机会通过删除任何不需要的资源来应对内存不足的情况。

如果视图控制器或任何其他对象被释放并且其保留计数减少到 0,则它将被删除并调用其 dealloc。

如果一个对象被释放,但它的保留计数没有减少到 0,那么它不会被删除,因此它的 dealloc 不会被调用。

当一个对象被删除时调用dealloc,删除和释放不是一回事。一个对象在其保留计数达到 0 时被删除。

于 2012-06-06T00:53:29.223 回答
2
于 2012-06-06T02:36:16.723 回答