2012-10-14 5 views
0

간단한 메서드를 백그라운드 스레드에서 실행하여 txt 파일을 열고 줄에서 분할했습니다. 그 후에 나는 기억을 풀려고 노력하고 있지만, 뭔가 잘못되어 간다. ARC를 사용하고 있습니다. 여기에 코드가 있습니다 :ComponentsSeparetedByString 배열을 해제 할 수 없습니다.

@autoreleasepool { 
    NSString* file = [NSString stringWithContentsOfFile:resourcePath encoding:NSWindowsCP1251StringEncoding error:&error]; 
    NSArray* test = [file componentsSeparatedByString:@"\n"]; 
    test = nil; 
} 

문자열은 괜찮지 만 메모리에 계속 남아 있습니다. 나는 무엇을 놓쳤는가?

UPD : 흠 ... 배열을 몇 번 복제하려고 시도한 후 메서드 배열의 끝 부분이 실제로 할당 해제됩니다. 하지만이 배열을 만들면 메모리 누수가 발생합니다. 어디있을 수 있니?

+2

어레이가 출시 된 경우 어디서 테스트합니까? – DrummerB

+0

배열이 출시되지 않았습니다. 그리고 이것이 주된 문제입니다. txt 파일은 37 메가 바이트이며,이 코드 앱은 100 메가 바이트의 RAM을 사용합니다. –

+0

당신은 제 질문에 대답하지 않았습니다. 그것이 공개되지 않았다는 것을 어떻게 아십니까? – DrummerB

답변

0
// test = nil; 

해제하면 ARC가 정상적으로 작동합니다.

+0

시도했지만 작동하지 않았습니다. –

관련 문제