내부에 5 개의보기 컨트롤러가있는 탐색 컨트롤러 기반 응용 프로그램이 있습니다. 뷰 컨트롤러를 밀 때 메모리를 일부 할당하고 popViewController로 돌아 가면 delloc() 메서드가 올바르게 호출됩니다. 나는 dealloc이 push and pop하는 모든 뷰 컨트롤러에 대해 올바른 방법으로 호출된다고 확신한다.컨트롤러 팝업시 UINavigationController 메모리가 감소하지 않습니다
그럼에도 불구하고 Instrument (성능 도구 -> Object allocation, Leaks로 시작)로 응용 프로그램을 실행할 때 이상한 동작이 발생합니다. 보기 컨트롤러가 팝업되면 메모리 사용량이 줄어들지 않아 예상대로 줄어들지 않습니다. 응용 프로그램을 시작할 때 950KB를 사용하면 첫 번째보기 컨트롤러와 메모리 사용량이 최대 1까지 증가합니다 , 56 메가 바이트, 마침내 나는보기 컨트롤러를 팝하고 메모리 사용량은 이제 1,55 메가 바이트입니다.
이 동작이 맞습니까? 모든 dealloc 메서드는 뷰를 팝하고 Leaks 악기가 메모리 누수를 나타내지 않을 때마다 올바르게 호출됩니다. 운영체제가보기를 어떤 식 으로든 "보기"유지하므로 두 번째로 동일한보기 컨트롤러를 누르는 동안로드 프로세스가 훨씬 빠릅니다 ...
누군가이 동작이 올바른지 확인할 수 있습니까? 감사
See this Screenshot from Instruments
Ps. 인스트루먼트는 X 초마다 또는 수동으로 누출 여부를 확인하도록 설정되어 있습니까? – RickiG
자동으로 10 초마다 확인하도록 설정되어 있습니다. 뭔가 바뀌 었니? – ggould75