今天在我的程序里面加入了Debug.startMethodTracing() 和Debug.stopMethodTracing()方法,对程序的性能进行测试。运行程序结束,.trace文件也生成了,pull出来后,执行traceview命令时,出行下里面的错误提示:
Exception in thread "main" java.lang.RuntimeException: Method exit (android/os/Bundle.<init> (Landroid/os/Bundle;)V) does not match current method (android/os/Parcel.setDataPosition (I)V)
    at com.android.traceview.ThreadData.exit(ThreadData.java:106)
    at com.android.traceview.DmTraceReader.parseData(DmTraceReader.java:319)
    at com.android.traceview.DmTraceReader.generateTrees(DmTraceReader.java:92)
    at com.android.traceview.DmTraceReader.<init>(DmTraceReader.java:87)
    at com.android.traceview.MainWindow.main(MainWindow.java:270)
在网上查了下,在manifest文件也添加权限,其他的都是按照官网的方法执行。而且执行dmtracedump -o都可以,可以看到函数调用的输出,但是为什么执行traceview就不行?很是奇怪。有没有同命相连的兄弟姐妹,分享下经验。