0

プロファイル オプションを使用して実行するこのテスト コードがあります。しかし、私は漏れを見ることができません

リークを注入しましたが、機器にリークが表示されない理由がわかりません

NSMutableArray* test_leak2()
{
    int i=0;
    NSMutableArray *arr = [[NSMutableArray alloc] init ];

    while(i <100) {
    NSImage *img = [[NSImage alloc] init ];
        [arr addObject:img];
        i++;
    }
    return arr;
}

int main(int argc, char *argv[])
{
    NSMutableArray *arr = test_leak2();
    return 0;
}
4

1 に答える 1

1

ARCを使用している場合、リークはありません.ARCは「カバーの下で」保持/リリースを処理します。

リークツールは万能ではありませんが、良いスタートです。

静的アナライザーの場合の防御の最前線は、それを実行してすべての警告を修正します。

メモリのすべての損失がリークであるとは限りません。ポインタがないものだけです。ヒープショット分析を試してみてください。bbum にはすばらしいチュートリアルがあります。私は Heapshot を何度も使用して大きなアドバンテージを得ました。お尻のおかげです。

于 2011-10-12T15:26:35.490 に答える