문제

새 ViewController를 추가 할 때마다 객체 문자가 실제로 높이 올라가서 다시는 내려 오지 않습니다. removeFromSuperView를 호출 한 후에도. 이것은 정상입니까?

if((UIButton *) sender == gameArcadeBtn) {
        GameArcade *gameArcadeController = [[GameArcade alloc] 
                              initWithNibName:@"GameArcade" bundle:nil]; 
        self.gameArcade = gameArcadeController; 
        [gameArcadeController release]; 
        [self.view insertSubview:gameArcadeController.view atIndex:1];
    }
도움이 되었습니까?

해결책

뷰를 인스턴스화하면 항상 많은 객체를 만듭니다.이보기가 메모리에 있거나 자동 정리되지 않은 한, 객체는 메모리에 할당 된 상태로 유지됩니다. 따라서 귀하의 질문에 답하기 위해 이것은 정상입니다.

메모리 사용에 대해 걱정하는 것처럼 들리고 객체가 할당되어서 얻지 못하도록하는 것이 중요합니다. ~도 앱 누출을 찾는 것이 더 중요합니다.

일부 메모리 관리 팁 :
1) 게으른 적재를하십시오. 사용자가 앱의 시작 부분에있는 것은 아니지만 사용자가 요청할 때만 뷰를로드합니다.
2) 더 이상 필요하지 않을 때 가능한 모든 것을 제거하십시오. 이것은 ViewWillAppear 및 ViewDidDisAppear에서 수많은 작업을하는 것을 의미합니다.
3) @properties와 그것이 자동 표시와 관련된 방법에 대해 배우고 모든 것에 대한 속성을 사용하지 마십시오.
4) 매력적으로, 더 이상 필요하지 않을 때는 자동 제국을 피하고 수동으로 물체를 방출하십시오.

다른 팁

그것은 아마도 당신이 여전히 수업에서 View의 컨트롤러를 유지하고 있기 때문일 것입니다. 그것을 풀어보십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top