从Max size of an iOS application我知道一个典型的iOS应用程序二进制文件可以达到2GB。但是,可执行文件限制为100MB。典型iOS应用程序的最大堆限制是多少?如果能让我知道堆/数据段/代码段的限制,那将是一件好事。典型的iOS应用程序允许的最大堆大小是多少
苹果有任何限制吗?
从Max size of an iOS application我知道一个典型的iOS应用程序二进制文件可以达到2GB。但是,可执行文件限制为100MB。典型iOS应用程序的最大堆限制是多少?如果能让我知道堆/数据段/代码段的限制,那将是一件好事。典型的iOS应用程序允许的最大堆大小是多少
苹果有任何限制吗?
正如@ gnasher729说,如果使用了太多RAM
您的申请将被杀死。
iOS中的RAM使用没有绝对硬限制。但Apple确实分别为UIApplicationDelegate
和UIViewController
提供了方法applicationDidReceiveMemoryWarning
和didReceiveMemoryWarning
。实施这些方法可以让你知道苹果什么时候杀死你的应用程序,除非你快速地减少你的内存使用量。这里有一些关于这些文件: App Programming Guide for iOS: Performance Tips。
如果使用太多的RAM,应用程序将被终止。它也可能导致其他应用程序被杀害。所以不要要求任何限制,获得一个iPhone 4s,并确保你的应用程序运行良好。你不会通过使用太多的记忆来交朋友。
添加一个小点;因为问题特别使用术语*堆*。您应用程序的堆大小也受到您在特定时间点使用堆栈的限制。基本上,堆从底部开始向上生长,堆栈从顶部开始向下生长。实际的实现细节各不相同,但实质上堆栈和堆争用相同的内存。 – Avi