为什么使用4 MB的内存警告和320 MB的空闲空间?

我正在运行附加到Xcode 5.1.1的iOS 7.1的iPhone 4上进行testing。 我不明白为什么当仪器显示我的应用程序只使用几兆字节,并有大量的内存空闲(见附件),我得到内存警告,甚至崩溃。 有任何想法吗?

接收警告时应用程序的内存使用情况

更新:

在仪器中,正如我怀疑的那样,我发现没有泄漏,但“匿名虚拟机”的大小似乎过大,充满了图像数据。 我应用程序中的每个表格单元都显示一个JPEG。 也许我应该预先缩放这些图像,这是大匿名虚拟机大小的原因…更多的调查要做。

仪器分配

原来,在每个表格单元格中的UIImageView中显示的图像都以全尺寸存储在内存中,而不是缩放的大小(UIImageView的大小)。 这只出现在仪器的“匿名虚拟机”(因为iOS只在应用程序堆中存储对图像的引用,而实际的图像caching在系统内存中),而不是在Xcode中显示的基本内存使用情况。 我通过在将图像放入表视图单元格的UIImageView之前对图像进行缩放来解决此问题。 没有泄漏。

仪器有时对使用的实际记忆不准确。 测量的最佳方法是在控制台上打印内存使用情况。

我发现这个线程上的代码:以编程方式检索iPhone上的内存使用情况