-2

一个应用程序可以使用的最大内存是多少?请找到带有此消息的仪器屏幕截图。这个真实内存和虚拟内存限制是什么?

截屏

4

1 回答 1

3

我不认为我可以直接回答您的问题,但有一些想法:

  1. 就可用物理 RAM 而言,正如您从iPhone 型号的 Wikipedia 概览中看到的那样,原始 iPhone 和 3G 为 128MB,3G 为 256MB,4 和 4S 为 512MB。

  2. 根据 Apple 的iOS App Programming Guide,虚拟内存不是来自物理磁盘/存储的分页内存(就像您在桌面操作系统中看到的那样),所以我假设 iOS 只是将物理 RAM 作为虚拟内存分配给应用程序,更少由操作系统(和任何后台应用程序)消耗的。此外,请参阅 Apple 在其内存使用性能指南中对虚拟内存的讨论。

  3. 最后,看到这个SO帖子关于确定可用内存。作为数据点,在运行 iOS 5.1.1 的开发 3GS 上,该 SO 帖子中的算法报告了 ~228MB 总可用内存和 ~100MB 可用内存(在一个相当简单的故事板 ARC 测试项目中,有大量视图控制器,其中只有两个在测试可用内存时被积极使用)。如果这是任何迹象,看起来它产生了大部分物理 RAM,大概是为 SpringBoard 等 iOS 应用程序使用了一些内存。如果我在后台运行其他用户应用程序,我的测试应用程序报告的内存相应减少(总“可用”和“免费”......例如,在后台运行 Facebook,我损失了 20-30MB),但是如果我手动终止了其他应用程序,则内存已恢复并可用于我的内存测试应用程序。

最重要的是,看起来应用程序可用的内存似乎是(a)由设备的特定型号决定的物理 RAM 的函数;(b) 还有哪些其他应用程序仍在后台运行。

于 2012-06-19T05:40:05.017 回答