2012-10-05 2 views
0

이미 내 AppDelegate에서 -(void) handleMemoryWarning:(NSNotification*) 알림 기능을 처리했으며 꽤 잘하고 있습니다.iOS에서 메모리 크래시를 처리 할 수있는 방법이 있습니까

저는 프로그램에서 모든 메모리 누수를 처리하는 데 많은 시간을 할애했습니다.

하지만 여전히 메모리 누수 결국 메모리 충돌을 어떻게 보는지 일부는 내가 메모리 경고 수준을받은 후 2 또는 때때로

3. 내가 어떤 데이터를 수집하고 내 서버에 보낼 수있는 방법이 있나요 내 응용 프로그램이 메모리 때문에 충돌하기 직전입니까?

나는 Crittercism을 사용하여 다른 예외를 처리하고 있습니다.

기존 코드의 메모리를 줄이는 방법을 제공하지 마십시오.

답변

0

당신이 모든로드 된 질감과 메모리 크기를 콘솔에 출력합니다

[[CCTextureCache sharedTextureCache] dumpCachedTextureInfo]; 

를 호출 할 수 있습니다로드 텍스처를 확인하십시오. 모든 장치에서 메모리 충돌을 피하려면 앱에서 100MB 이상의 메모리를 사용해야합니다 (망막 장치를 의미 함). 이 정도라도 메모리 경고는 발생하지만 충돌은 발생하지 않습니다.

앱이 리소스를로드하는 위치를 확인하려면 계측기의 Activity Monitor를 사용할 수 있습니다. 앱에서 사용하는 메모리 용량을 확인할 수 있습니다. 첨부 된 도구로 인해 사용 된 메모리가 증가하지만, Activity Monitor가 연결되어있는 상태에서 앱이 충돌하고 충돌없이 충돌이 발생하면 메모리 사용량이 중요하므로이를 줄여야합니다.

1

사용자가이

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application 
{ 
    //you just save your data. 
} 
+0

오 메모리

[[CCDirector sharedDirector] purgeCachedData]; [[CCTextureCache sharedTextureCache] removeAllTextures]; [CCTextureCache purgeSharedTextureCache]; [[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames]; [CCSpriteFrameCache purgeSharedSpriteFrameCache]; 

및 을 취소합니다! 나는 이미 applicationDidReceiveMemoryWarning 함수를 처리했다는 것을 의미했습니다. 그러나 이것은 모든 메모리 경고에서 트리거됩니다. 메모리 누수로 인한 충돌을 처리 할 수있는 방법이 있는지 알고 싶습니다. 충돌이 발생하고 모든 메모리 경고가 아닌 경우에만 내 서버에 일부 메시지를 보내려고합니다. – Him

관련 문제