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