0

ARC iOS アプリで for ループを実行していますが、最終的にメモリ割り当てのオーバーヘッドが大きくなります。最小限のメモリを割り当てて、余分なメモリを割り当てずに for ループを何らかの形で終了したいと考えています。この例では、キーチェーンから取得できる SSKeychain ライブラリを使用しています。私は通常、自動解放プールを使用してメモリを適切に削除しますが、ループの最後に 70 mb 以上のメモリが割り当てられるため、何が問題なのかわかりません。これを適切に処理するには、実行ループを開始/終了する必要があると言われました。考え?

for (int i = 0; i < 10000; ++i) {
            @autoreleasepool {
                NSError *  error2 = nil;
                SSKeychainQuery*  query2 = [[SSKeychainQuery alloc] init];
                query2.service = @"Eko";
                query2.account = @"loginPINForAccountID-2";
                query2.password = nil;
                [query2 fetch:&error2];
            } 
}
4

1 に答える 1