2011-11-04 2 views
0

내 응용 프로그램은 5 개의 탭으로 구성됩니다. 그 중 4 개가 약 20 개의 텍스트 필드 (문법적으로 작성되고 뷰에 하위 뷰로 추가됨)에 각각 포함되어 있습니다. 내 마지막 탭은 이전 탭 (스크린 샷)의 미리보기입니다. 사용자가이 탭으로 이동하면 미리보기가 가능하고 미리보기로 이메일을 트리거 할 수있는 옵션이 있습니다 (4 개의 탭 스크린 샷을 모두 전자 메일에 첨부). 성공적으로 구현했지만 메모리 경고가 발생했습니다. 도움을 주시면 문제를 해결할 수 있습니다. 뷰가받은 메모리 경고. 레벨 = 1 - 5 개의 탭이있는 UITabBarController 응용 프로그램

- (void)didReceiveMemoryWarning 
{ 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 
    if (!self.view.window) { 
     [preparedForTextField release]; 
     [agentTextField release]; 
     [phoneTextField release]; 
     [dateTextField release]; 
     [textFieldsArray release]; 
    } 
    // Release any cached data, images, etc. that aren't in use. 
} 

표시되지 않는 경우 didReceiveMemoryWarning에 출시 오브젝트를하고있는 viewDidLoad에서 다시보기를 다시로드 :

나는이 방법을 시도했다. 아직도 나는 기억의 경고를 받고있다.

답변

2

메모리에있는 모든 항목이 필요하면 메모리 경고를 무시하십시오 (특히 레벨 1 경고가 매우 쉽게 발생 함). 거기에 모든 것을 필요로하지 않고 나중에 필요하지 않은 것을 다시로드하거나 다시 만들 수 있다면 필요할 때까지 메모리에서 제거한 다음 다시로드하거나 다시 만드십시오.

+0

당신은 내가 viewWillDisappear에서 1 탭에서 다른 탭으로 이동할 때 개체를 해제한다고 말했듯이. 다시 viewWillAppear에서 객체를 생성합니다. 기억의 경고를 받지만. 어떻게해야합니까? – Dee

+0

그냥 경고입니다. 아무 것도 할 수 없다면 더 이상 아무것도 공개 할 수 없다면 무시하십시오. – Arkku

관련 문제