0

割り当てを使用してアプリの1つをプロファイリングしましたが、特定のメソッドを呼び出すたびに、「ライブバイト」の量が300KB増加することがわかりました。何が原因なのかわかりません。

次のコード行が原因です。

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クラスには、UIViewUIImageView、およびいくつかの単純な変数(intsやBOOLsなど)のみが含まれていることに注意してください。

どんな助けでも大歓迎です!

4

1 に答える 1

1

どのように作成しますCGMutablePathRefか?とCGPathCreateMutable?はいの場合は、必ずそれCGPathReleaseを解放するために使用してください。

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