ios - 为什么 iOS 终止后台应用程序而不是以不同方式处理 RAM 不足?

标签 ios

遍布this document Apple 提到 iOS 在某些情况下会终止应用程序,最常见的原因似乎是释放一些 RAM。这会导致未实现状态恢复的应用程序出现问题——用户正在处理和暂时离开的一些内容可能很容易被删除。甚至还有一个 16 page thread on Apple forums用户提示的地方。

  • 有人知道为什么 iOS 实际上会终止应用程序而不是将它们占用的内存移动到磁盘/交换空间吗?
  • 与其他方式相比,终止实际上是否提供了相当大的性能改进?

最佳答案

您所描述的是分页,或者更准确地说,是页面交换。 BSD Unix 的 iOS 版本不执行分页,原因有很多。以下是一些有根据的猜测:

对于移动设备来说太耗电了。

闪存无法处理分页中涉及的扰动。闪存每个存储位置的生命周期写周期数有限,分页会耗尽闪存芯片的生命周期。

正如另一位发帖者所指出的,交换到磁盘会耗尽可用的磁盘空间,这也是有限的。当你有一个 500 GB 的驱动器时这不是问题,但在只有 16 GB HD 和 1 GB RAM 的设备上这是一个大问题。

关于ios - 为什么 iOS 终止后台应用程序而不是以不同方式处理 RAM 不足?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20867599/

相关文章:

ios - GLKit:为 Swift 格式化 Objective-C GLKit 参数

ios - Apple 拒绝了我的应用程序,因为未列出指向隐私政策的链接

ios - NSTextAttachment 图像未在 NSTextView 中显示(但在 UITextView 中)?

ios - 使用我自己的 UIButton 获取用户 Facebook 信息

iPhone GPS - 未收到有效的位置更新

android - 有没有办法为应用程序( native 或混合)创建指纹扫描仪?

ios - 将文件写入资源目录

ios - NSCache 什么时候释放缓存对象?

ios - 动态 View 的自动布局约束

ios - 如何在 Alamofire Post 请求后有一个完成处理程序/ block ?