ios - 为什么应用程序会在设备内存不足时崩溃?

标签 ios objective-c

我对 iOS 特别陌生,离基本概念还很远。

我在 iOS 书籍和论坛上看到应用程序因内存不足而崩溃,但为什么会崩溃? 如果有人可以提供一些帮助,那将会很有帮助。

最佳答案

iOS 设备通过分页使用虚拟内存。因为它是移动设备,没有可扩展内存或漂亮 大内存可用(如硬盘驱动器),因此页面的可用性受到各种因素的限制,例如打开的应用程序数量,不同应用程序的分配等。此外,一些板载应用程序将始终保持使用某些页面,即使在它们处于休眠状态,例如 safari、i-tunes、消息传递等。 因此,基本上随着应用程序数量的增加,您的应用程序可以使用的页面数量会进一步减少。

因此,如果您的应用程序的分配速率超过其他应用程序释放页面的速率,您的应用程序就会崩溃。

OS只释放内存中的只读数据,可写数据不释放。当可写数据超过一定阈值时,OS要求应用程序释放内存。无法释放内存导致崩溃.

Memory Allocations Apple

关于ios - 为什么应用程序会在设备内存不足时崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15446416/

相关文章:

ios - 自定义附件 View 按钮的操作是什么 - swift

objective-c - 在一行UITable中设置多个UILabel

objective-c - 每次在 Objective-C (Cocoa) 上设置参数时调用一个方法

ios - Xcode 构建时出现格式错误

objective-c - Auto Layout "Add New Constraints"在 Interface Builder 中不交互

ios - UISearchBar 的取消和清除按钮在 iOS 7 中不起作用

ios - 首先显示 UIAlertController,然后显示 MFMailComposeViewController。仅在第一次工作

ios - 如何使 imageviews 在 iOS 中随着自动布局按比例增长?

ios - 在 iOS 中使用 AVPlayer 你能知道当前的 .ts 文件或来自编码器的当前时间戳吗?

ios - uitableviewcell imageview 在选择时调整大小(仅水平)