我是否相信ObjectAlloc或Leaks用于分析我的iPhone应用程序?

时间:2010-03-02 04:09:24

标签: iphone objective-c memory-leaks memory-management nstimer

当我使用“Leaks”运行我的iPhone应用程序时(其中有一个Object Alloc部分),我的应用程序似乎可以用于内存分配。但是,当我使用ObjectAlloc工具运行它时,随着应用程序运行其主计时器,内存会稳定增加。 (这是一个基于计时器的应用程序)。我不确定该相信什么。我只是想知道ObjectAlloc工具是否存在任何可能与我有关的问题。也许与NSTImer相关的东西?我在设备上运行它(不是模拟器)。感谢。

1 个答案:

答案 0 :(得分:1)

是的 - 相信工具。它们现在非常准确。

泄漏表示对象或分配,其中所述对象/分配的地址未存储在应用中的任何其他位置。内存不再可访问。

但是,消除所有泄漏并不意味着您的应用无法无限增长。

无限制的增长可能由于多种原因而发生。您可能有一个缓存,可以在不修剪最近最少使用的条目的情况下继续添加条目。或者可能是永远不会截断或刷新到文件系统的事务日志。或者您可以继续将新图像加载到应用程序中而不会丢失旧图像。

一旦消除了所有泄漏,请查看ObjectAlloc的输出并找出所有内存分配的来源。特别是,您需要弄清楚您的应用正在做什么来触发分配。如果您的应用程序没有直接或间接地要求消耗资源,系统框架不会虚假地导致持续增长。