2013-07-06 2 views
1

나는이 문제에 대해 며칠을 보냈다. 내 앱이 메모리 누수로 인해 iPod Touch에서 오류가 발생하고 있습니다.iOS에서 힙 성장을 담당하는 코드를 추적하는 방법

저는 Xcode에서 Instrument로 정확하게 힙 성장을 모니터링했으며 각 이벤트마다 코드가 앱에 의해 차지하는 메모리가 커지고 있음을 확인했습니다.

여기 ARC를 사용 중이므로 메모리 문제로 인해 응용 프로그램이 작동하지 않을 것으로 예상되지만 ARC는 도움이되지 않지만 핵심 기반이 사용되지만 핵심 기초는 사용하지 않았습니다. 앱에 직접 연결됩니다. 하지만 MBProgressHUD는이 프레임 워크를 사용하는 내 응용 프로그램에 추가되었습니다. MBProgressHUD에 대한 ARC를 활성화하지 않았으므로 많은 메모리가 증가했습니다.

내 앱 메모리가 너무 커져서 앱이 다운되는 주요 문제/변수/코드를 추적 할 수 없습니다.

P.S : 악기는 많은 메모리 할당을 유발하는 기능을 보여 왔지만 이러한 기능에서 ARC가 활성화되면 (자동으로 관리 됨) 이러한 변수를 해제하는 방법을 알지 못합니다.

나는 올바른 방향으로 가고 있는지 제안하십시오.

답변

0

누수가 발생 했습니까? 응용 프로그램이 느려지는 주요 원인은 너무 많은 수의 자동 출시 객체를 사용하고 있기 때문입니다.

+0

자동 해제 개체의 수는 간접적으로 앱 성능에 비례합니다. – Rajesh

+1

따라서 1. 자동 릴리스 개체를 적게 사용하십시오. 2. 루프 내부의 할당을 무시하십시오. 포인터 변수를 다시 사용하십시오. 4. 데이터 소스 메소드에서 오브젝트 할당 수를 줄이십시오. 더 나은 성능을 위해. – Rajesh

+0

글쎄, 더 이상 그것을 방지하기 위해. 나는 heap 성장을 일으키는 함수/파일에 어떻게 도달해야하는지 질문했다. 문제를 일으키는 특정 코드가있을 수 있습니다. – xrnd

관련 문제