ios - didReceiveMemoryWarning 和 dealloc 之间有什么关系?

标签 ios dealloc didreceivememorywarning

在内存压力下会调用dealloc吗?如果是 true,它是在 didReceiveMemoryWarning 之前调用还是之后调用?另外,当 View Controller 被释放时,是否肯定会调用dealloc?

最佳答案

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

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

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

当对象被删除时会调用dealloc,删除和释放不是一回事。当对象的保留计数达到 0 时,该对象将被删除。

关于ios - didReceiveMemoryWarning 和 dealloc 之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10906909/

相关文章:

ios - 将 subview 添加到 UICollectionViewCell 一次(单元格可用性问题)

ios - 在 swift 3 中将字符串数据从 json 更改为 NSArray

iOS 10 UIImagePickerController 黑屏

iphone - ASIHTTPRequest dealloc 和 EXC_BAD_ACCESS 问题

iphone - 在没有实例变量的情况下删除 dealloc 上的委托(delegate)

iphone - iOS 保存/保留数据的位置 didReceiveMemoryWarning(等效 Android Bundle onSaveInstanceState)

ios - 后台计时器非常慢

iOS - 弹出到上一个 viewController 后未调用 viewController dealloc 方法

xcode - AVCam 内存不足警告

iphone - iOS:检测主运行循环之外的低内存崩溃