iphone os支持的最大堆大小和堆栈大小是多少?

时间:2010-06-28 08:55:52

标签: iphone cocoa-touch memory stack heap

有人能告诉我iphone支持的最大应用程序大小是多少?另外,支持的最大堆大小和堆栈大小是多少?应用程序很快就会“失去记忆”......

2 个答案:

答案 0 :(得分:3)

您可能获得的任何数字都是

  1. 如有变化(即使现在它们是正确的,它们在某些时候可能会出错),
  2. 无用的。
  3. 具体来说,您要对这些数字做什么?跟踪你分配的内存量?当你用完了,你会做什么? iOS会向您发送一条消息,告诉您在发生这种情况时释放一些内存;你将采取哪些不同的做法?

    不要担心对自己施加限制。尽可能高效。

      

    申请很快就会“内存不足”......

    然后你的记忆力不高。使用Instruments的ObjectAlloc和Leaks仪器描述您的应用程序,找出效率低下的地方。一旦你修复它们,你的应用就不会再经常耗尽内存了。

    如果您还没有,请阅读the Memory Management Programming Guide。您可能根本不会发布需要发布的内容。如果是这种情况,您会看到泄漏工具泄漏很多

答案 1 :(得分:2)

如果你有无限(非尾部)递归,你会被丢弃到大约20k堆栈帧的调试器中。我不确定这对应了多少字节,但对于任何合理的事情来说都足够了。

除了通常的地址空间限制(可能大约3GB)之外没有设置最大值;你的应用程序正在被杀死,因为该设备的物理内存耗尽,并且没有更多的后台应用程序可以杀死。

如果你因为内存不足而被杀死,你要么做得非常愚蠢,要么就是内存泄漏。