2011-08-31 1 views
0

1 초 후에 타이머의 나머지 메모리를 NSLoged했습니다. 남은 메모리를 인쇄합니다.약 80MB의 RAM이 남아 있어도 applicationDidReceiveMemoryWarning 가짜 호출이 발생했습니다.

런타임 요구 사항 앱은 최대 약 20MB입니다. 로그는 앱을 시작할 때 사용 가능한 메모리를 90MB 이상 보여줍니다.

탭 중 하나에 Google Mapkit의지도가있는 tabBar가 있습니다. 응용 프로그램이 작동 상태가되면 RAM - 80MB.

확대 된지도 - 붐을 스크롤 할 때! "applicationDidReceiveMemoryWarning"로거는 75-80MB 정도의 여유 메모리 카운터를 표시합니다.

다른보기 데이터가 공개되고 있습니다.

어쨌든 .. RAM을 사용할 수 있고 응용 프로그램이 크래시되지 않는 경우에도 ...지도에서 패닝하면 RAM이 70-80MB에서 3-4MB로 크게 줄어 듭니다. 이 경우 앱의 메모리 요구가 캡처 된 이미지에 대해 말할 수 있습니다 - 다시 붐! "applicationDidReceiveMemoryWarning"

누구나 전에 경험 했습니까? 모든 유용한 의견 ..?

당신이 이것을 경험하지 않았다면 - 그냥 애플의 기상지도 샘플 응용 프로그램이나 UR 전화의 네이티브지도 응용 프로그램을 사용해보십시오 !! - 우리가 확대 된지도를 팬 할 때 어떻게 맵이 런타임 메모리를 먹는 지 보려면 ... !!

감사합니다,이 일을 해야하는 방법

샘 피셔

답변

0

. 메모리가 사용됩니다. 0이 (가) 이 아니며이 (가) 낭비되고 있습니다. 메모리 누수가없고보기 및 캐시를 언로드/다시로드하는 동안 문제가 없습니다.

+0

여기 내 코드에는 누수가 없는지 확인하고 싶습니다. 내 질문은 - 왜 내가 충분한 RAM을 사용할 수있는 경우에도 시스템이 Mem 경고를 던지고? 비록 내가 스크롤 할 때 RAM을 먹는지도를 제어 할 수는 없지만 System/Mapkit은 나에게 그것을 해방시켜야한다 .. !! – samfisher

+0

이런 식으로 생각하십시오. 이미 메모리 부족 상태 일 때 메시지를 보내면 너무 늦어서 어쨌든 충돌 할 것입니다. 그것은 일들이 "잘 보이지 않는다"는 경고를 당신에게 보내며 이것은 발견 적 일 것입니다. –

+0

코드의 누수에 관해서는 알 수 없습니다. 필자가 작성한 것은 아무것도 없기 때문에 Xcode와 Instruments의 정적 분석기를 사용하여 확인할 수 있습니다. –