有人能告诉我iphone支持的最大应用程序大小是多少?另外,支持的最大堆大小和堆栈大小是多少?应用程序很快就会“失去记忆”......
答案 0 :(得分:3)
您可能获得的任何数字都是
具体来说,您要对这些数字做什么?跟踪你分配的内存量?当你用完了,你会做什么? iOS会向您发送一条消息,告诉您在发生这种情况时释放一些内存;你将采取哪些不同的做法?
不要担心对自己施加限制。尽可能高效。
申请很快就会“内存不足”......
然后你的记忆力不高。使用Instruments的ObjectAlloc和Leaks仪器描述您的应用程序,找出效率低下的地方。一旦你修复它们,你的应用就不会再经常耗尽内存了。
如果您还没有,请阅读the Memory Management Programming Guide。您可能根本不会发布需要发布的内容。如果是这种情况,您会看到泄漏工具泄漏很多。
答案 1 :(得分:2)
如果你有无限(非尾部)递归,你会被丢弃到大约20k堆栈帧的调试器中。我不确定这对应了多少字节,但对于任何合理的事情来说都足够了。
除了通常的地址空间限制(可能大约3GB)之外没有设置最大值;你的应用程序正在被杀死,因为该设备的物理内存耗尽,并且没有更多的后台应用程序可以杀死。
如果你因为内存不足而被杀死,你要么做得非常愚蠢,要么就是内存泄漏。