substringToString вызывает утечку - PullRequest
0 голосов
/ 01 апреля 2011

Я получаю утечку памяти в строке tempstr = [tempstr substringToIndex ... Я перепробовал все возможные комбинации распределения tempStr, NSString * tempStr = @ ""; NSString * tempStr = [[NSString alloc] init]; (с выпуском в конце цикла) Я попытался настроить область действия NSString. НИЧЕГО ТАКОГО. Это производит 3 утечки Любая помощь в том, что я могу попытаться исправить это будет высоко ценится.

while(x < [arr1 count]){
            //NSLog(@"%@", [arr1 objectAtIndex:x]);

            if([[arr1 objectAtIndex:x] rangeOfString:@".com"].location != NSNotFound)
            {

                //NSLog(@"%@", [arr1 objectAtIndex:x]);
                tempStr = [[arr1 objectAtIndex:x] substringFromIndex:[[arr1 objectAtIndex:x] rangeOfString:@"http://"].location];
                tempStr = [tempStr substringToIndex:tempStr.length - 1];
                [arr1 replaceObjectAtIndex:x withObject:tempStr];

                //NSLog(@"%@", [arr1 objectAtIndex:x]);

            }
..... more code....
x++
}

1 Ответ

0 голосов
/ 01 апреля 2011

Эти tempStr экземпляры должны идти в пул авто-релиза, поэтому, если вы используете пул авто-релиза правильно, они должны быть освобождены должным образом в назначенное время.

Таким образом, вы либо измеряете утечку очень рано (объекты не будут освобождены до тех пор, пока не завершится цикл), либо работаете с потоком, в котором пул автоматического выпуска не был правильно настроен.

...