2010-07-23 7 views
1

내 응용 프로그램 내에 20 개 정도의 ViewControllers와 Xibs가 있어야 사용자가 액세스 할 수 있습니다. 문제는 메모리 부족으로 인해 응용 프로그램이 충돌하는 것을 5 명 정도보고 난 후입니다. ViewController 내에서 할당 한 모든 메모리를 릴리스했습니다. 따라서 많은 IBOutlets의 메모리를 보유하고 있기 때문에 가정합니다.iPhone 메모리 할당 문제

을 Heres I의 의견을 삽입하고 상단에 사용하는 코드는 내가 그들을 제거 방법 :

-(void)InsertUpperHall{ 
    [lowerHall.view removeFromSuperview]; 

    if(self.upperHall == nil) 
    { 
     UpperHall *upperController = [[UpperHall alloc] initWithNibName: @"UpperHall" bundle:nil]; 
     self.upperHall = upperController; 
     [upperController release]; 
    } 
    [self.view insertSubview: upperHall.view atIndex:0]; 
} 

를 어떤 도움이 될 것 크게

답변

2

이 유지되는 모든 IBOutlets이 속성을 설정해야합니다 감사합니다 viewDidUnload 및 dealloc에서 nil로 설정합니다.

내가 매우 좋습니다

+0

작업이 필요한 이유를 설명하는 좋은 기사가 있습니다 : HTTP ://weblog.bignerdranch.com/?p=95 – jergason