android - 了解跟踪 View

标签 android

我正在尝试了解 traceview 的工作原理。我试图使用 traceview 分析一种方法,但有一个关于它的查询。

我附上了 .trace 的快照。它表明大多数时间被标记为蓝色的(toplevel)占用。但是没有更多信息可用。 (这个方法什么时候执行或者执行什么功能。)

traceViewSnapshot

谁能给我解释一下为什么要花这么多时间?

提前致谢!

最佳答案

我今天遇到了同样的问题,试图找出“toplevel”的代码在哪里。我不是这方面的专家,但这是我认为正在发生的事情:

http://www.androidcodesearch.com/acs/source/sdk/traceview/src/com/android/traceview/DmTraceReader.java表明“toplevel”只是一个没有已知父级的 Activity 的抓包转储。

这当然对解决你的问题没有多大帮助,因为相当大一部分时间似乎都花在了“ self ”上。我建议为您正在使用的任何 android 平台(froyo、ICS 等)获取 android 源文件,并尝试四处查看可能会花费这么多时间。

顺便说一句 - 只是为了确保您知道,您可能会完全被这个痕迹误导。您的跟踪只有 7 毫秒,并且与一些花哨的类加载相关;对于此类问题,我不会相信在如此有限的时间跨度内使用 traceview,即使准确,我也无法想象您为什么担心将 7 毫秒降低到 5。

关于android - 了解跟踪 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4758071/

相关文章:

android - 工具栏不显示溢出菜单

android - RecyclerView 未预览

Android::OnTouchListener && OnClickListener 组合问题

Android - 条形图、条形图

java - 我们可以将 soundpool id 从一项 Activity 传递到另一项 Activity 吗?

Android Constraint Layout - child 的对齐方式

java - Android 写入文件时出现 NullPointerException

java - Android,我可以将 AsyncTask 放在单独的类中并进行回调吗?

android - 如何获得可用的 gsm 网络列表?

android - BasicNetwork.performRequest - 意外的响应代码 400 在 android 6.0.1 但不是在模拟器上