Приложение Я работаю над использованием ARC. Я хотел, чтобы он обрабатывал большие файлы, поэтому вместо загрузки файлов в целом я загружаю куски данных с использованием метода NSFileHandle readDataOfLength. Это происходит внутри цикла, который повторяется, пока весь файл не будет обработан:Огромный объем памяти с ARC
- (NSString*)doStuff { // called with NSInvocationOperation
// now we open the file itself
NSFileHandle *fileHandle =
[NSFileHandle fileHandleForReadingFromURL:self.path
error:nil];
...
BOOL done = NO;
while(!done) {
NSData *fileData = [fileHandle readDataOfLength: CHUNK_SIZE];
...
if ([fileData length] == 0) done = YES;
...
}
...
}
Согласно профайлеру, нет утечек памяти; однако мое приложение ест много памяти, когда обрабатывает файл. Мое предположение - автореферат приходит только после обработки файла. Могу ли я исправить это, не переключаясь на ручное управление памятью?
Пожалуйста, размещайте код, относящийся к вашей проблеме –
рассмотрите возможность использования 'mmap' – mvds
@AshleyMills done –