0

我使用 Allocations 分析了我的一个应用程序,并发现每当我调用特定方法时,我的“Live Bytes”数量都会增加 300 KB。我不知道是什么原因造成的。

以下代码行是罪魁祸首:

CNTile *newTile = [self getTileAtPosition:3];

关联的方法如下所示:

- (CNTile *)getTileAtPosition:(int)pos
{
    CNTile *tileToReturn;

    for (int x = 0; x < [row count]; x++)
    {
        for (int y = 0; y < [col count]; y++)
        {
            The code here generates four CGPoints and a CGMutablePathRef,
            then uses CGPathContainsPoint to determine which CNTile to return.
        }
    }

    return tileToReturn;
}

我应该提一下,我的CNTile类只包含一个UIViewand UIImageView,以及一些简单的变量(例如ints 和BOOLs)。

任何帮助将不胜感激!

4

1 回答 1

1

你是如何创作的CGMutablePathRef?与CGPathCreateMutable?如果是,请确保使用CGPathRelease释放它:

CGMutablePathRef thePath = CGPathCreateMutable();
...
CGPathRelease(thePath);
于 2013-01-31T13:22:00.160 回答