当我尝试在Windows 7 64位平台上使用方法分析时遇到问题。当我这样做时,这会在我使用的任何模拟器或真实设备上杀死一堆进程,包括我想要分析的那个。或者根本没有任何事情发生(见下面的追踪)
这是由于最新版本的Android SDK吗?
我已经能够在Linux 32位平台上使用方法分析。
有任何线索吗?
这是我在Nexus S(api等级10)上的跟踪仿真器。
08-15 08:11:04.847: D/dalvikvm(409): +++ active profiler count now 1
08-15 08:11:04.847: I/dalvikvm(409): TRACE STARTED: '[DDMS]' 1048576KB
08-15 08:11:04.847: D/dalvikvm(409): +++ active profiler count now 0
08-15 08:11:04.847: I/dalvikvm(409): Exception thrown by dispatcher for 0x4d505353
08-15 08:11:04.847: I/dalvikvm(409): Ljava/lang/InternalError;: buffer alloc failed
08-15 08:11:04.847: I/dalvikvm(409): at dalvik.system.VMDebug.startMethodTracingNative(Native Method)
08-15 08:11:04.847: I/dalvikvm(409): at dalvik.system.VMDebug.startMethodTracingDdms(VMDebug.java:207)
08-15 08:11:04.847: I/dalvikvm(409): at android.os.Debug.startMethodTracingDdms(Debug.java:481)
08-15 08:11:04.847: I/dalvikvm(409): at android.ddm.DdmHandleProfiling.handleMPSS(DdmHandleProfiling.java:148)
08-15 08:11:04.847: I/dalvikvm(409): at android.ddm.DdmHandleProfiling.handleChunk(DdmHandleProfiling.java:81)
08-15 08:11:04.847: I/dalvikvm(409): at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
08-15 08:11:04.847: I/dalvikvm(409): at dalvik.system.NativeStart.run(Native Method)
答案 0 :(得分:0)
最后我明白了。关键是在Android / DDMS选项中,“Method Profiler缓冲区大小”设置为1024.我将其更改为8192,现在一切都像我想要的那样顺畅。
希望这有帮助。