我正在编写一个充当媒体播放器的iPad应用程序(视频和照片)。我知道应用程序有2GB的大小限制,但这是下载时应用程序的大小限制吗?或者在应用程序的整个生命周期中限制沙盒的大小?例如,如果我的小应用程序稍后将各种媒体文件下载到沙盒中,使用户总数超过2GB(应用程序+下载媒体),该怎么办?
谢谢!
答案 0 :(得分:32)
除了设备本身的剩余容量之外,沙箱的大小没有限制。
答案 1 :(得分:8)
我昨晚做了一点测试,当我最终退出时,我的沙箱超过了8 GB。
答案 2 :(得分:1)
沙盒大小无限制,根据iPhone应用程序编程指南:
为了管理程序内存,iPhone OS使用与Mac OS X中基本相同的虚拟内存系统。在iPhone OS中,每个程序仍然有自己的虚拟地址空间,但(与Mac OS X不同)其可用虚拟内存受到限制通过可用的物理内存量。这是因为当内存已满时,iPhone OS不会将易失性页面写入磁盘。相反,虚拟内存系统会根据需要释放易失性内存,以确保正在运行的应用程序具有所需的空间。它通过删除未使用的内存页面并包含只读内容(如代码页)来实现此目的。如果再次需要这些页面,可以随后将其重新加载到内存中。
如果内存继续受到限制,系统也可能会向正在运行的应用程序发送通知,要求他们释放额外的内存。所有应用程序都应响应此通知,尽其所能帮助缓解内存压力。有关如何在应用程序中处理此类通知的信息,请参阅“观察低内存警告”。
答案 3 :(得分:-1)