3

저는 동일한 UIViewController의 여러 인스턴스를 처리하기 위해 UINavigationController를 사용하는 응용 프로그램을 개발했습니다. 내가 사용하고있는 UIViewControllers는 서버에서로드 된 때로는 매우 큰 UITableView에서 많은 이미지를 사용하므로 성능과 메모리를보다 양심적으로 인식하기 시작했습니다.UINavigationController는 어떻게 여러 UIViewController를 추적합니까?

스택의 맨 위에 있지 않은 UIViewController는 어떻게됩니까? 내가보기로 돌아갈 때마다 UINavigationController는 어떤보기도없이보기를 제공하므로, 스택에있는보기가 잠재적으로 많은 가치가 있을지 궁금합니다. 자원? 기억 같은가?

그 상황을 처리하는 가장 좋은 방법은 무엇입니까? 내가 분명히 알지 못하는 것에 대해 알아야 할 것이 있습니까?

감사합니다.

답변

0

실제로 iOS 설명서에 설명되어 있습니다. XCode> Organizer> Documentation> iOS를 확인하십시오. UINavigationController 스택이 어떻게 동작 하는지를 설명하는 멋진 그림이 있습니다. 이는 단어보다 낫습니다.

그러나 간단히 말해서 두려움을 완화하는 데 도움이되는 viewDidLoad 및 viewWillAppear (및 그 반대의) 방법이 있습니다. 이 코드는 "당장"필요하지 않은 코드의 "메모리 hogging"부분을 생성/삭제하는 데 사용해야합니다. 그러나, 내가 아는 한, UINavigationController에 의해 직접 제어되는 경우 iOS가 플러시 할 필요가 있는지 결정할 것인지를 제어 할 수 없습니다.

관련 문제