2011-12-17 2 views
1

아래 줄은 프로그램을 분석 할 때 "잠재적 인 메모리 누수"가 발생합니다. xCode (4.2)의 최신 버전을 실행 중이며 오류없이 프로그램이 실행되며 많은 테스트를 거친 후 충돌이 발생하지 않았습니다. 어떤 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다.이 잠재적 인 메모리 누수의 원인은 무엇입니까?

[self.topTenEntry1 setBackgroundColor:[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"reddishcolor.tiff"]]]; 

답변

7

UIColor 개체가 누출되었습니다. 초기화하지만 포인터를 놓을 필요는 없습니다.

사전에 생성하고 위의 행에서 자동으로 릴리스하십시오. 누출 코드가 자주 실행되지 않는 경우, 당신은 훨씬 통지하지 않습니다 (프로그래머의 불편 막연한 감각 제외)를 실행하는 동안 - 메모리 누수가 반드시 프로그램이 충돌이 발생하지 않는

self.topTenEntry1 setBackgroundColor:[[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"reddishcolor.tiff"]]] autorelease]; 

참고. 그러나, 그들은 항상 제거되어야합니다 - 특히 이와 같은 간단한 것들. iOS는 메모리가 제한된 환경입니다. 분석기는이 누수를 곧바로 잡아 냈습니다. 애플이 검토 과정에서 그것을 알아 차리지 못할 이유는 없습니다.

+0

감사합니다. 도움을 주셔서 감사합니다. – Gil

관련 문제