iPhone -insertsubview는 Objectalloc 점프를 만듭니다
-
08-07-2019 - |
문제
새 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의 컨트롤러를 유지하고 있기 때문일 것입니다. 그것을 풀어보십시오
제휴하지 않습니다 StackOverflow