Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
476 views
in Technique[技术] by (71.8m points)

android - How to automate the DDMS snapshot mechanism?

Does Android DDMS provide APIs ? I need to automate the snapshot mechanism for the native heap. Or is there any post processing tool for analysis DDMS native heap snapshots.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I assume by snapshot you mean a heap dump.

From your app code you can call Debug.dumpHprofData() to dump the data.

From a script you can call

adb shell am dumpheap <process> <file>

where <process> is e.g. your process id or name, and <file> is the dump file name. After that you can adb pull the dump to your computer.

To analyze the heap dumps you can use e.g. jhat or MAT. Before that you need to run hprof-conv (included in Android SDK) on the dump to convert it from Dalvik format to standard Java format.

Further reading: Memory Analysis for Android Applications


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...