2012-09-13 4 views
3

IOS 경고 메시지 6과 호환되도록 앱을 업데이트 중입니다. 메모리 경고가 표시됩니다. 악기의 라이브 바이트는 사용량이 적습니다 (2.3MB). VM 추적기에서는 더러운 크기가 약 50 %가됩니다. VM 추적기 유형 = CG 이미지 -> 더티 크기가 100 %로 증가합니다. 내 응용 프로그램은 사용자가 사진을 찍어야하지만 핵심 그래픽 객체는 사용하지 않습니다. 거기 CG 이미지 더러운 메모리를 공개하는 방법은 무엇입니까? 시간을내어 요청을 검토해 주셔서 감사합니다.메모리 경고 IOS 6 기기의 라이브 바이트가 낮은 앱 개발자

+0

힙 샷을 사용하여 응용 프로그램을 검사하여 메모리 누적이 발생한 위치를 확인 했습니까? 라이브 바이트는 응용 프로그램의 총 메모리 소비를 측정하는 데 쓸모가 없습니다. 대신, 메모리 모니터를 사용하여이를 관찰하십시오. –

+0

안녕하세요, Brad, 힙 샷 및 메모리 활동 모니터는 괜찮아 보입니다. 응용 프로그램이 190MB 이상의 가상 메모리 사용으로 인해 메모리 경고를 던지고있는 것처럼 보입니다. – user1666656

답변

0

ARC를 사용하는 응용 프로그램은 iOS5에서 완벽하게 실행되는 반면 iOS6에서는 매우 심하게 누출되기 시작합니다. 내가 "누출"이라고 말하면 실제로 메모리를 할당 한 다음 변경 가능한 배열에서 객체를 제거 할 때 메모리를 적절하게 해제하지 않으면 응용 프로그램의 메모리 사용이 급격히 증가하게됩니다.

불만을 많이 겪은 후, 문제가되는 섹션을 중심으로 @autoreleasepool {...}을 설정하여 문제를 해결했습니다.

내 의혹은 iOS6이 iOS5와 다르게 내 응용 프로그램을 스레딩한다는 것입니다. 그 프로세스를 다루는 @autorelease 풀이 있었기 때문입니다.

구현 방법이 매우 빠르기 때문에이 솔루션을 사용해 보시기 바랍니다.