간단한 메서드를 백그라운드 스레드에서 실행하여 txt 파일을 열고 줄에서 분할했습니다. 그 후에 나는 기억을 풀려고 노력하고 있지만, 뭔가 잘못되어 간다. ARC를 사용하고 있습니다. 여기에 코드가 있습니다 :ComponentsSeparetedByString 배열을 해제 할 수 없습니다.
@autoreleasepool {
NSString* file = [NSString stringWithContentsOfFile:resourcePath encoding:NSWindowsCP1251StringEncoding error:&error];
NSArray* test = [file componentsSeparatedByString:@"\n"];
test = nil;
}
문자열은 괜찮지 만 메모리에 계속 남아 있습니다. 나는 무엇을 놓쳤는가?
UPD : 흠 ... 배열을 몇 번 복제하려고 시도한 후 메서드 배열의 끝 부분이 실제로 할당 해제됩니다. 하지만이 배열을 만들면 메모리 누수가 발생합니다. 어디있을 수 있니?
어레이가 출시 된 경우 어디서 테스트합니까? – DrummerB
배열이 출시되지 않았습니다. 그리고 이것이 주된 문제입니다. txt 파일은 37 메가 바이트이며,이 코드 앱은 100 메가 바이트의 RAM을 사용합니다. –
당신은 제 질문에 대답하지 않았습니다. 그것이 공개되지 않았다는 것을 어떻게 아십니까? – DrummerB