2011-04-12 8 views
5

많은 유용한 사이트에서 자세히 설명했듯이 Android 앱의 메모리 사용량을 분석하는 한 가지 방법은 "kill -10 [PID]"를 실행하여 HPROF 덤프를 실행하는 것입니다. 이것은 일부 장치에서 작동하는 것 같다, 그리고 로그 캣은 일반적으로 같은 것을 포함 다음이에서 "죽일 -10"결과를 실행,특정 장치에서 HPROF 덤프를 가져올 수없는 이유는 무엇입니까?

I/dalvikvm(32170): threadid=3: reacting to signal 10 
I/dalvikvm(32170): SIGUSR1 forcing GC and HPROF dump 
I/dalvikvm(32170): hprof: dumping VM heap to "/data/misc/heap-dump-tm1302633572-pid32170.hprof-hptemp". 
I/dalvikvm(32170): hprof: dumping heap strings to "/data/misc/heap-dump-tm1302633572- pid32170.hprof". 
I/dalvikvm(32170): hprof: heap dump completed, temp file removed 

그러나 다른 장치를 :

I/dalvikvm(5687): threadid=4: reacting to signal 10 
I/dalvikvm(5687): SIGUSR1 forcing GC (no HPROF) 

을 모든 내가이 장치를 뿌리 뽑고 777에 chmod/data/misc를 만들었습니다. "kill -10"을 실행 한 후에 오류 메시지가 표시되지 않습니다. 여기 HTC의 ACE (디자 이어 HD), HTC의 G1, HTC 넥서스 원 (T- 모바일)

그리고 장치 곳이됩니다 경우

는 도움이 여기에 내가 HPROF 덤프를받을 수 있나요 장치는 (& T AT) 넥서스 S, 드로이드, 드로이드 X, 넥서스 원

나는 특정 장치에서 HPROF 덤프를 얻을 내가 나를 수 있도록 할 수있는 일이있을 수없는 이유 : 나는 HPROF 덤프를하지 마세요 덤프를 얻으려면?

답변

8

DDMS를 사용하십시오. "HPROF 파일 덤프"도구 모음 아이콘을 클릭하십시오 - 아래쪽 화살표가있는 반쯤 깡통 모양입니다. Nexus S에서 지금 사용해 보았을 때 매력적이었습니다.

+0

우수 감사합니다. 이 모양은 hprof-conv로 변환하지 않아도됩니다. –

+0

여기에 기능을 사용 중지 한 diff가 있습니다. http://android.git.kernel.org/?p=platform/dalvik.git;a=commitdiff;h=b037a464512c0721bdca969ae19cce3d4b17b083 –

+1

향후 독자를 위해 명확히하기 위해 @Jan Berkel은 OP가 사용하던 HPROF 덤프를 강제 실행하는 SIGUSR1을 언급했습니다. DDMS HPROF 접근법은 여전히 ​​AFAIK에서 작동합니다. – CommonsWare

관련 문제