有人知道如何扩大“am profile”命令的缓冲区大小吗? 或者甚至可以使用命令行扩大缓冲区大小?
我知道Debug.startMethodTracing()是可能的,但是我需要它用于“am profile”命令。
谢谢!
答案 0 :(得分:2)
我遇到了同样的问题,不得不详细研究。事实证明,没有选项可以与adb am
一起使用来设置缓冲区大小,而android.os.Debug.startMethodTracing
则有选项。
差异似乎是ActivityManager
和Debug
执行此操作的方式。 Debug
直接访问VMDebug并调用接受缓冲区大小作为参数的本机函数startMethodTracingNative
,而AM从ActivityManagerService调用一个名为profileControl的函数,该函数使用ApplicationThreadNative开始分析。这可能最终会导致VMDebug使用相同的本机方法,我不知道,但显而易见的是AMS内部没有考虑缓冲参数,因此无法通过adb设置它。