繁体   English   中英

iPhone OS支持的最大堆大小和堆栈大小是多少?

[英]what is the maximum heap size and stack size supported by iphone os?

谁能告诉我iPhone支持的最大应用程序大小是多少? 另外,支持的最大堆大小和堆栈大小是多少? 应用很快就会“内存不足” ...

您可能得到的任何数字是

  1. 随时可能更改(即使它们现在正确,在某些时候也很可能是错误的),并且
  2. 无用。

具体来说,您与这两个数字有何关系? 跟踪您分配了多少内存? 耗尽时您会怎么做? iOS会向您发送一条消息,告诉您在发生这种情况时释放一些内存; 你会做些什么?

不必担心对自己施加限制。 尽可能地提高效率。

应用很快就会“内存不足” ...

这样一来,您的记忆就不会高效。 使用Instruments的ObjectAlloc和Leaks工具分析您的应用程序,找出效率低下的地方。 修复它们后,您的应用程序将不会再继续耗尽内存。

如果尚未阅读《内存管理编程指南》 ,则还应该阅读。 您可能根本没有发布需要发布的内容。 如果是这样的话,您会发现Leaks仪器泄漏很多

如果您具有无限(非尾)递归,那么您将陷入具有约20k堆栈帧的调试器中。 我不确定这对应多少个字节,但是对于任何明智的操作而言,它是否足够。

除了通常的地址空间限制(大概3GB左右)之外,没有设置最大值。 您的应用被杀死,因为该设备的物理RAM已用完,并且没有其他要杀死的后台应用。

如果您因低内存而被杀死,那么您要么做的很愚蠢,要么存在内存泄漏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM