0

내 iPhone 응용 프로그램에 약간의 메모리 문제가 있으며 어떤 일이 발생하는지 전혀 모른다.UIViewController 클래스 메모리 문제 - presentModalViewController

그래서 저는 UIViewController에서 다른 것으로 이동할 때 응용 프로그램의 메모리 사용이 지속적으로 증가하는 것을 관찰했습니다. "Allocations"도구에서 "Mark Heap"도구를 사용했으며 할당 해제되지 않은 유일한 객체는 UIViewController입니다.

더 구체적으로 말해서 두 개의 UIViewController를 가져 가게했습니다. 첫 번째 이름은 PuzzleViewController이고 두 번째 이름은 Options입니다. 앱이 시작되면 PuzzleViewController가 나타납니다. 여기에 힙을 표시하여 기준선을 설정 한 다음 옵션 UIViewController를 표시하는 "옵션"버튼을 누릅니다. 나는 처음으로 돌아가서 힙을 다시 표시한다. 이러한 단계를 반복해서 반복하면 (20 번 정도 : D와 같이) 나는 힙 샷마다 약 22 개의 객체가 살아 있다는 것을 관찰한다. 이 두 객체는 ​​내 UIViewController 인스턴스입니다.

나는 실제로 무슨 일이 일어나는지 전혀 모른다.

- (IBAction) onOptionsButton: (id) sender 
{ 
    Options *viewController = [[Options alloc] init]; 
    [self presentModalViewController:viewController animated:YES]; 
    [viewController release]; 
} 

그리고 여기가 PuzzleViewController로 돌아갈 방법은 다음과 같습니다 : 여기

내가 옵션의 UIViewController로 전환하는 방법입니다 내 viewDidUnload 기능이 제대로이라고

- (IBAction) onMainMenu:(id) sender 
{ 
    PuzzleViewController *modalView = [[PuzzleViewController alloc] init]; 
    [self presentModalViewController:modalView animated:YES]; 
    [modalView release]; 
} 

,하지만 할당 해제 기능 이제까지 불렀다.

당신은 다시 dismissModalViewController하지 presentModalViewController를 호출하거나 당신의 PuzzleViewController을 다시해야 안드레이

+0

옵션보기 컨트롤러를 어떻게 제거 하시겠습니까? –

+0

@Firoze Lafeer, 정말 모르겠다. 미안하지만, 나는 iPhone 프로그래밍에 익숙하지 않다. 어떻게해야하며 사용은 무엇입니까? 정말 고마워! –

+0

글쎄, 어떻게 사용자가 PuzzleViewController로 돌아갈 수 있을까요? 어떤 버튼과 코드가 그렇게합니까? –

답변

2

을 주셔서 감사합니다.

+0

감사합니다. 거기에 UIViewControllers 사이에 셔플 다른 더 좋은 방법이 있습니까? 왜냐하면 나는 "Main Menu"에서 "Game Screen"까지 12 개의 UIViewController를 가지고 있기 때문이다. –