使用少量内存时 ipad 应用程序内存警告
Posted
技术标签:
【中文标题】使用少量内存时 ipad 应用程序内存警告【英文标题】:ipad application memory warning when using little memory 【发布时间】:2011-02-07 18:57:20 【问题描述】:我正在运行一个为发布而编译的 ipad 应用程序,并且偶尔会看到内存警告。
当我在设备上运行应用程序并连接 Instruments 时,我看到应用程序从未超过 40MB 的实际内存,但警告仍在发生。
这可能是什么原因造成的?我怎样才能更好地追查原因?
【问题讨论】:
【参考方案1】:对于 iPad 而言,40 MB 的实际内存已经很多了。即使不是,系统也会不时向您发送内存不足的警告,而您的应用程序并不是罪魁祸首。跟踪应用程序中精确的内存使用情况有时很困难,我建议在使用应用程序时花一些时间使用对象分配工具。如果你没有被杀死并且你确定你没有泄漏内存,你也可以简单地忽略警告。
【讨论】:
据我所见,我保持在 35 到 40MB 之间。即使这个数字是双倍的,但不变,我不明白为什么这会导致内存警告? 你没有得到机器上所有可用的内存,一旦你超过大约 30 MB,系统就会真正开始纠缠你。 记住这是一个警告......想想操作系统说“嘿,伙计,看起来你开始使用大量内存,如果你能清理一些内存就太好了你不使用的东西。如果没有,很酷,我会放手的,但是 3 次罢工,你就出局了”(3 次罢工意味着内存警告级别 = 3,至少根据我的经验)【参考方案2】:考虑到 iPad 一开始只有 256MB,40MB 对 iPad 来说很高。可能有其他应用程序占用内存,当需要更多内存时,这些应用程序将被终止。只要确保你没有泄漏任何东西。还可以在适用的情况下使用 NSAutoReleasePools 来减少内存密集型循环中的峰值内存使用量。
【讨论】:
以上是关于使用少量内存时 ipad 应用程序内存警告的主要内容,如果未能解决你的问题,请参考以下文章
应用程序在 iPad 2 上运行良好,在 iPad 3 上崩溃,内存不足警告