2011-06-15 5 views
4

것은 내가 해제 GC_FOR_MALLOC의 무한 루프에 빠질 안드로이드 응용 프로그램에서 일하고 있어요 :GC_FOR_MALLOC의 출처를 찾는 방법은 무엇입니까?

06-15 11:24:56.685: DEBUG/dalvikvm(118): GC_FOR_MALLOC freed 4136 objects/374744 bytes in 66ms 
06-15 11:24:59.176: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9340 objects/524152 bytes in 645ms 
06-15 11:24:59.846: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9344 objects/524328 bytes in 149ms 
06-15 11:25:01.535: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9346 objects/524448 bytes in 193ms 
06-15 11:25:02.175: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9344 objects/524344 bytes in 126ms 

응용 프로그램은 소켓 (전용 스레드)를 통해 일부 JPEG 이미지를 읽고 이미지 뷰에 표시됩니다. GC 루프가 이미지 디스플레이를 블로킹합니다.

가비지 수집을 던지는 코드의 줄 또는 최소한 줄을 알 수있는 해결책이 있습니까? 당신이 VM에 액세스하고 GC 모든 시간을 수행하는 이유를 확인할 수있는 경우

덕분에

답변

2

잘 모르겠지만, 그것에 대한 필요가있을 때 GC는 일반적으로 수행됩니다. 너무 많은 메모리를 사용하고 있는지 확인해야합니다. 이미지를로드하는 중일 수 있습니다 (큰 이미지입니까?) 아니면 앱의 다른 부분 일 수 있습니다. this post on how to analyse your memory usage을 확인하고 메모리 누수가 있는지 확인하십시오.

관련 문제