【发布时间】:2011-09-20 07:01:03
【问题描述】:
在运行我的应用时,我有时会收到内存警告。它并不总是发生在代码中的同一个地方,但我怀疑它与从我的应用程序外部分配的内存有关;即如果iPhone上有很多应用程序在后台运行,我会更早收到内存警告,如果后台没有应用程序运行,我根本不会收到警告。
- 有什么方法可以用来检查我的应用程序在某个时间点使用了多少内存?
- 有没有一种方法可以用来检查机器(iPhone/iPad)在某个时间点使用了多少内存?甚至可以检查还有多少内存可供使用?
- 一般来说,也许有人知道我在哪里可以找到有关不同基于 iOS 的机器的内存限制的数据?
谢谢, 呵呵
【问题讨论】:
-
我想您已经检查了您自己的应用程序中的内存泄漏?这通常是收到内存警告时要做的第一件事。
-
嗨dragon112,是的,我确实使用仪器工具检查了泄漏并且已经解决了所有问题(所有令人惊讶的泄漏的NSString......)。我仍然收到内存警告,并且不知道如何在它们发生时“捕捉”它们。我目前不知道是哪个物体造成的。
-
目前,当我使用“Leaks”方案运行 Instruments Tool 时,我很干净,但在应用程序 LOG 上,我可以看到内存警告 1 和 2。
-
奇怪,你的应用是不是占用了大量内存?这些警告是在您刚开始使用该应用时出现还是仅在您使用该应用一段时间后出现?
-
我不知道如何准确检查我的应用程序正在使用多少内存(如果您有提示,我将不胜感激)。我确实有几个图像分配同时“生活”并在用户一组操作结束时被释放(我可以在我们进行时释放其中一些,但它会导致其他内存分配问题;如果我不是确定这是导致内存警告的原因,我不想去那里)。关于您关于何时发生的问题 - 如果有其他应用程序正在运行,它会在第一组用户操作中发生,如果没有其他应用程序,它根本不会发生!