我试图了解traceview的工作原理。我试图使用traceview分析一个方法,但有一个查询。
我附上了.trace的快照。它表示大多数时间是用蓝色标记的(顶层)。但是没有进一步的信息。 (执行此方法或执行的功能时。)
任何人都可以向我解释为什么它耗费了这么多时间?
提前致谢!
答案 0 :(得分:1)
今天我遇到了同样的问题,试图找出“顶级”代码的位置。我不是这里的专家,但这就是我的想法:
http://www.androidcodesearch.com/acs/source/sdk/traceview/src/com/android/traceview/DmTraceReader.java表示“toplevel”只是一个没有已知父母的活动的抓包转储。
这对于弄清楚你的问题当然不是很有帮助,因为相当一部分时间似乎花在了“自我”上。我建议你为你正在研究的任何Android平台(froyo,ICS等)获取android源文件,然后试着去寻找可能花费这么多时间的东西。
顺便说一下 - 只是为了确保你知道,你可能完全被这种痕迹误导了。你的跟踪只有7毫秒,并且与一些花哨的类加载有关;在这样的问题上,我不相信追踪时间跨度如此有限,即使准确无法想象为什么你担心将7毫秒减少到5个。答案 1 :(得分:0)
请仔细阅读this URL内容,这有助于解决有关Traceview工具的大多数疑问。