当应用在前台时,可以使用更多的内存。
对于拥有256MB RAM的原始iPad,我发现我的应用程序在被杀死之前最多可以使用100-140MB的内存。
现在的情况如何?我可以去购买一堆i设备进行测试,但我想确认:是否有人做过测试?
我知道这个问题没有确切的答案,我正在寻找一个范围,例如:“当应用在512MB设备上使用300-350MB时,应用将被杀死。您可以安全地使用高达300MB的内存。”
具体来说:
在拥有512MB内存的设备上,一个应用程序可以使用多少内存?
在拥有1GB内存的设备上,一个应用程序可以使用多少内存?
上述两者之间有区别吗?为了在后台保留几个应用程序,每个单独的应用程序是否受到固定数量的内存限制,或者可以通过将前台应用程序从内存中清除所有后台应用程序,并占用全部1GB(或512MB)的内存(和操作系统,当然)?
设备是iPad还是iPhone是否重要?如果我的应用程序在拥有512MB内存的iPad上正常工作,这是否意味着它也将在拥有512MB内存的iPhone上工作,反之亦然?我知道UIView及其核心动画后备存储将因屏幕尺寸较大而占用更多内存,在除此以外的情况下,iPhone和iPad之间的内存情况是否相同?
我指的是进程使用的总内存--堆,栈,静态数据,代码,核心动画后备存储等。
如果您倾向于说这取决于操作系统版本,则可以假设我们正在讨论iOS 7。
我知道使用太多内存意味着当我的应用程序进入后台时,iOS会更快地终止它。目前对于这种权衡我感到满意。