Android adb am profile扩大了缓冲区大小

时间:2014-03-30 16:10:15

标签: android buffer adb profile activity-manager

有人知道如何扩大“am profile”命令的缓冲区大小吗? 或者甚至可以使用命令行扩大缓冲区大小?

我知道Debug.startMethodTracing()是可能的,但是我需要它用于“am profile”命令。

谢谢!

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,不得不详细研究。事实证明,没有选项可以与adb am一起使用来设置缓冲区大小,而android.os.Debug.startMethodTracing则有选项。

差异似乎是ActivityManagerDebug执行此操作的方式。 Debug直接访问VMDebug并调用接受缓冲区大小作为参数的本机函数startMethodTracingNative,而AM从ActivityManagerService调用一个名为profileControl的函数,该函数使用ApplicationThreadNative开始分析。这可能最终会导致VMDebug使用相同的本机方法,我不知道,但显而易见的是AMS内部没有考虑缓冲参数,因此无法通过adb设置它。