2012-08-07 2 views
0

Instruments를 사용하여 내 앱 할당을 확인하고 있습니다. 최악의 범주는 "Malloc 5.00 KB"로 20MB, 심지어 30MB까지입니다. 내가 안으로 얻을 때 , 나는이 할당의 거의 100 %가 에서 재단 도서관 것을라고 뭔가 "[NSConcreteMutableData이 initWithCapacity]"iOS 앱에서 초과 할당 이유를 찾을 수 없음 (Instruments 사용)

이 내 코드 또는 어떤에서 그 할당에 대한 소스를 찾을 수 없습니다를 참조 웹을 통해이 기능에 대한 세부 정보 ...

+1

을 다 했어? –

+1

Xcode에서 Product> Analyze를 사용하고 싶습니다. 잠재적 인 메모리 누수가있는 곳을 알려줍니다. 해본 적이 없다면 한번 해보십시오. – Zhang

+0

감사합니다. @JamesPaolantonio : 1. NSData 정보 - 코드에 NSData 객체가 많기 때문에 코드를 공유 할 수 없습니다. 그것은 내 라이브러리가이 할당을 수행하는 것을 보여주지는 않지만 Foundation은 ... 2. 물론 분석을 사용했습니다. 저는 코드에 누수가 거의 없었습니다. 사실 내 코드에 남아있는 유일한 두 가지 누수는 nsdataformatter (잘 알려진 iOS 누수 문제)와 JSonParser (다른 잘 알려진 누수)이지만 그 누출은 300KB를 넘지 않습니다. 반면에 내가 "할당"을 체크하면 소스를 찾을 수없는 최대 20MB 할당을 볼 수 있습니다 ... –

답변

0

확인 찾았습니다! 문제를 찾을 수 없어도 대부분의 코드 5 번 (!)을 수행 한 후 타사 라이브러리를 의심하기 시작했습니다.

문제는 ASIHTTPRequest 라이브러리에있었습니다. 나는 그 도서관의 오래된 버전 (2011 년 중반)을 사용했다. 내가 최신 버전으로 바꾸 자마자 대부분의 문제가 해결되었습니다.

는 지금은 SBJsonParser 및 NSDataFormatter 누수를 다루는있어, 내가 : 당신이 코드를 공유 할 수 있습니다 그것은 당신을 NSData 객체와 관련이있다

감사