2012-07-19 2 views
1

내 iPhone 앱용 메모리를 테스트하고 있습니다. xcode 4.2.1, ios 5.0+, ARC 사용iOS 푸시/팝 뷰 컨트롤러 메모리가 여전히 증가합니다.

두 개의보기 컨트롤러가 있습니다. 첫 번째에는 UIButton의 그리드가 있고 두 번째 뷰 컨트롤러에는 사용자가 터치하는 버튼에 대한 자세한 정보가 있습니다. 나는 푸시 세그 (segue)를 사용하고있다.

힙 증가를 측정하기 위해 마크 힙 도구를 사용하고 있습니다. 단추를 누른 다음 뒤로를 클릭 한 다음 "마크 힙"을 클릭하면이 작업이 몇 번 수행됩니다. 내 마크 힙의 성장은 각각의 힙 샷에 대해 1 ~ 2MB 사이입니다.

그러나 나는 힙 증가가 0 일 것으로 예상하고 있습니다. 더 자세한 설명에서, 나는 힙의 성장이 비 목적 (non-object) 때문이라는 것을 알 수있다. 누수 도구를 사용한 적이 있는데 누수 된 메모리가 표시되지 않습니다.

힙이 커질 수있는 이유는 무엇입니까? 어떻게 수정해야합니까?

UIViewController를 팝업하는 것은 무엇을 의미합니까? 탐색 모음에서 뒤로 단추를 클릭하면 UIViewController가 완전히 삭제되고 UIViewController와 하위 뷰가 메모리에서 해제됩니까? 아니면 수동으로해야합니까?

감사! 나는 당황 스럽다 ...

+0

"자세한 설명은 힙의 성장이 기인 한 것으로 봅니다."- 여기를 건너 뛰었습니다 ... – sergio

답변

0

버튼을 누를 때마다 다음 페이지 클래스의 객체를 생성하지 않도록하십시오. if (! objVC)와 같은 검사를 사용하고 다음을 수행하십시오.

이렇게하면 클래스 할당은 한 번만 수행되며 viewDIdUnload의 viewWillDisappear에서 다음 페이지에 개체의 데이터를 관리해야합니다.

관련 문제