【发布时间】:2014-03-30 16:10:14
【问题描述】:
有人知道如何扩大“am profile”命令的缓冲区大小吗? 或者甚至可以使用命令行扩大缓冲区大小?
我知道可以使用 Debug.startMethodTracing(),但我需要它用于“am profile”命令。
谢谢!
【问题讨论】:
标签: android buffer adb profile activity-manager
有人知道如何扩大“am profile”命令的缓冲区大小吗? 或者甚至可以使用命令行扩大缓冲区大小?
我知道可以使用 Debug.startMethodTracing(),但我需要它用于“am profile”命令。
谢谢!
【问题讨论】:
标签: android buffer adb profile activity-manager
我遇到了同样的问题,不得不详细研究一下。原来没有选项可以与 adb am 一起使用来设置缓冲区大小,而 android.os.Debug.startMethodTracing 有该选项。
区别似乎是ActivityManager 和Debug 这样做的方式。 Debug 直接访问VMDebug 并调用native 函数startMethodTracingNative 接受缓冲区大小作为参数,而AM 从ActivityManagerService 调用一个名为profileControl 的函数,该函数使用ApplicationThreadNative 开始分析。这可能最终会导致 VMDebug 使用相同的原生方法,我不知道,但很明显 AMS 内部没有考虑缓冲区参数,因此无法通过 adb 进行设置。
【讨论】: