android – 如何使用adb工具调用GC?

我想测试android应用程序的内存性能,我想自动获取内存信息.我使用’adb shell dumpsys meminfo …’来定期获取内存信息.
现在,我想观察内存泄漏,我该如何执行gc?就像DDMS中的“原因GC”一样.
谢谢!

解决方法:

DDMS调试器通过套接字连接到Dalvik VM.响应“原因GC”命令,它发送“HPGC”数据包(即HeaP GC),该数据包最终位于core / java / android / ddm / DdmHandleHeap.java类的handleHPGC()方法中.

handleHPGC()方法只调用java.lang.Runtime.getRuntime().gc()方法.

我认为你可以使用Java调试线协议(JDWP)编写一个简单的(??? – 我从来没有这样做,所以它可能不是那么简单)程序将附加到应用程序的调试端口’使用该API重新测试并调用垃圾收集器.

作为Java docs say for java.lang.Runtime.gc()

The method System.gc() is the conventional and convenient means of invoking this method.

上一篇:Android 源码分析-Dalvik 虚拟机创建过程


下一篇:是否检查SDK_INT还是使用较新的Android API需要延迟加载?为什么?