应用程序运行时检查内存使用情况

时间:2011-06-22 11:02:46

标签: ios memory warnings

在运行我的应用程序时,我有时会收到内存警告。它并不总是发生在代码中的相同位置,但我怀疑它与从我的应用程序外部分配的内存有关;即如果在后台运行iPhone上有很多应用程序,我会提前收到内存警告,如果后台没有运行应用程序,我根本不会收到警告。

  1. 是否有一种方法可用于检查我的应用程序在某一点上使用了多少内存?
  2. 有没有一种方法可以用来检查机器(iPhone / iPad)在某一点上使用了多少内存?甚至可以检查仍然可以使用多少内存?
  3. 一般来说,也许有人知道在哪里可以找到有关不同iOS机器内存限制的数据?
  4. 谢谢, 辖

4 个答案:

答案 0 :(得分:12)

使用Instruments,您可以查看应用正在使用的内存量。 在Xcode4中,使用“配置文件”构建,选择Leaks,然后单击工具栏中的“库”按钮并添加Memory Monitor工具。

它将显示正在运行的每个应用程序的概述以及每个应用程序使用的内存量。

答案 1 :(得分:3)

如果您不想使用Instruments,实际上有一个Giulio Petek编写的实用程序类可以获取当前的内存使用情况。

在此处试试:http://forrst.com/posts/Get_current_Memory_usage-hzw

答案 2 :(得分:2)

您可以使用vm_statistics_data_t对象检查内存使用情况。请在此处找到详细信息和实施:

  1. http://gamesfromwithin.com/whered-that-memory-go
  2. http://landonf.bikemonkey.org/code/iphone/Determining_Available_Memory.20081203.html

答案 3 :(得分:-3)

您不必担心检查可用内存量。操作系统管理内存,并在内存不足时向顶级内存使用者发出警告。您需要做的是确保您正确处理didReceiveMemoryWarning消息并删除可以在以后按需重新加载的任何数据。此外,如果您的应用程序遇到性能问题,您应该使用Instruments来检查常见情况下的应用程序使用情况,并确保您有效地使用内存,并且只加载当时必须在内存中的大型对象。