Утечка памяти в iOS в линейном считывателе файлов NSFilehandle - PullRequest
0 голосов
/ 20 мая 2011

Я использую следующий метод чтения текстового файла по одной строке за раз (всего 1,1 миллиона строк), и объем памяти моего приложения на симуляторе увеличивается до общего размера файла текстового файла (480 МБ).Нужно ли реализовывать автозапуск стока для управления потреблением памяти?

Как читать данные из NSFileHandle построчно?

NSString *docDir = [AppSession documentsDirectory];
NSString *csvpath = [docDir stringByAppendingPathComponent:@"/docs/output.csv"];

__block NSUInteger count = 0;

DDFileReader * reader = [[DDFileReader alloc] initWithFilePath:csvpath];
[reader enumerateLinesUsingBlock:^(NSString * line, BOOL * stop) 
{
    count++;      
}];

NSLog(@"FINAL COUNT %i", count);
[reader release];

1 Ответ

0 голосов
/ 20 мая 2011

Да.Это должно быть в вашем классе DDFileReader, внутри цикла в enumerateLinesUsingBlock:.Вы не можете правильно сделать это из кода, который вы разместили здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...