문제

루트 질문은"어떻게 많은 UIViewControllers 할 수 있습니 푸에서 탐색 스?"없이 일으키는 메모리에서 경고 또는 적립 감시 종료됩니다.

한다고 가정해보세요가 있는 응용 프로그램은 기본적으로 데이터베이스에 대한 세관에 각각의 관계를 가질 수 있습니다 몇 가지 다른 단체와의 관계에 표시됩 UIViewController.할 수 있는 사용자에 따라 그 관계는 각각의 하나은 새로운 컨트롤러면체는 A,B 및 C A>B>C>B>C>는 다음의 각 종류 보기를 스택에 두 번.방법 이해를 밀어와 팝,어떻게를 밀어 다 컨트롤러,그리고 나는 생각보다는 확장 탐색 스택을 무기한 그것이 최선이 될 수 있습니다 다시 사용하기 컨트롤러에서 탐색 스택입니다.

이를 위해,모든 시간 제가 원하 FirstEntityViewController 나 검사할 수 있었 탐색 스택을 찾을 수 있는 객체 [self isKindOfClass:[FirstEntityViewController class]]; 다음 메소드를 호출하도록 설계 rejig 을 보기 위해 내가 현재하고 상쾌한 데이터 같은 방법으로 할 때 다시 사용하 UITableViewCell.

이것은 제외하고 효과에 가지고 있을지도 모른 NavigationController.내가 사용하는 경우 UINavigationController:popToViewController:animated: 나는 생각한 것입니다 그것을 폐기하는 모든 것 위에 보기 내 진열을 포함한보기는 사용자가 기대하는 것에서 찾을 눌러"뒤로"의 탐색됩니다.그래서 사용자 탭에 관계,꼭 다시 간다"응?"

를 제거하는 경우에 일치하는 컨트롤러에서 탐색 스택은 다음에 그것은 최고의 스택이 다시 행동 확인 만큼 사용자가 돌아가지 않는 만큼 인스턴스의 FirstEntityViewController 는 이동되었거나 다른 사람 다시 내비게이션이 보이 일치하지 않습니다.

는 올바른 솔루션을 제거하는 컨트롤러에서 스택,그리고 어떻게든 개최 장소에서 쌓을 수 있도록 하는 경우 재사용 컨트롤러크로 대체할 수 있습을 다시 어디에서 왔는지 아시겠습니까?나 유지하는 나 자신의 목록 보기의 종류와 데이터 디스플레이 그래서 터지는 경우가 대체할 수 있는 뷰 아래의 보기에 대한 팝을 경우 다시한 탐색?

나는 그냥 너무 복잡해?가 필요 없음에도 이 상황에 대해 걱정하기 때문에 재사용하는 많은 보기 컨트롤러와 동일한 방식으로 UITableViewCells 은 다시 사용할 수 없는 진짜 메모리거나 성능에 미치는 영향에는 50 깊은 탐색 스?

도움이 되었습니까?

해결책

ViewController 인스턴스에 남아 있 uinavigationcontroller 가의 스택이지만,어떤 보기를 제외한 최고 볼 수 있을 언로드할 수 있는 시간(보기 컨트롤러가 통합 viewDidUnload 메시지가).

다시 말해서,뷰 아래 최고 전망을 끊지 않고 결국 로드에서 낮은 메모리 조건에서,그렇게 할 필요가 없을 위해 당신을 시도를 다시 사용하기 컨트롤러입니다.

다른 팁

마지막으로 내가 확인할 수 없습 밀어 viewcontroller 이미에 navcontroller 스택에 다시 다시.를 만들어야 합니다 신선한 viewcontroller 밀어 스택에 각각 버튼을 다시 나타납하는 하나의 스택이다.최고 당신이 할 수 있게 만들의 캐시 viewcontrollers 고 돌들로 필요한 바로 그들이 튀어나는 navcontroller 스택입니다.하지만 그것은 아마 없을 구입 당신에게 많은 방법에 의한 메모리를 절감합니다.

UITableViews 가에서 서로 다른 비트는 비교적 적은 수의 세포에서 볼이 주어진 시간에 그리고 셀룰라가 오프스크린 그것을 제거하고 다시 반환로 수영장도 있습니다.보장할 수 있는 경우에는 maxdepth 의 체인이 수정할 수 있습니다 다음을 당겨와 유사한 창 체계입니다.하지 않는 경우가 있을 수 있습와 막대기가 깊고 경계에 대해 메모리를 해제로 할 수 있습니다.

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