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];
}
}