导出 android studio profiler 数据
Posted
技术标签:
【中文标题】导出 android studio profiler 数据【英文标题】:Export android studio profiler data 【发布时间】:2017-10-28 10:25:21 【问题描述】:在使用 Calabash 执行自动化 UI 测试时,我需要以某种方式分析我的 android 应用程序。我从我的网络搜索中得到的是内置的 android 监视器是进行分析的方式。问题是我需要导出分析数据,最好是 Excel 友好格式。
我需要什么:
负载,例如CPU 百分比 时间是否有任何方法可以将 android 监视器配置文件数据导出到文本文件或等效文件?或者我可以用 android 监视器以外的东西来完成这个吗?我已经看到了一些关于跟踪视图的东西,但我看不出这是否适合我的需要。如果我错了,请纠正我。
【问题讨论】:
【参考方案1】:在我看来,你可以从 .trace 文件中找到很多信息。
您可以生成跟踪日志并检测您的应用。 https://developer.android.com/studio/profile/generate-trace-logs
从生成的 .trace 文件中,您可以使用 Dmtracedump (https://developer.android.com/studio/command-line/dmtracedump) 将文件解析为另一种格式,例如 html、png 或 txt。
如果您想将其可视化以调用堆栈或火焰图,请查看此网站: https://blog.rhye.org/post/android-profiling-flamegraphs/
【讨论】:
谢谢。这很有帮助。我发现现在在 Anroid studio profiler 中实现了火焰图【参考方案2】:没有简单的方法可以将 Android Studio Profiler 数据导出到文本文件。每个分析器视图都有自己的导出格式。 CPU 分析器将导出到.trace
文件。内存分析器将导出到.hprof
文件或.alloc
文件。您可以通过点击下图中圈出的“记录”按钮访问这些导出文件,然后再次点击停止。请注意,任何超过一分钟的导出文件都需要很长时间才能打开。
导出这些文件后,您可以通过将它们拖放到相应的应用程序中来再次打开它们。 Android Studio 默认工作。 This SO 推荐 Eclipse Memory Analyzer tool。您可以阅读有关Android Profiler here 的更多信息。
最终的解决方案是将 Android Studio 导出 .trace
文件的能力与 Doni 的解决方案结合起来,使用 Dmtracedump 将文件解析为另一种格式,例如 html、png 或 txt。
【讨论】:
从 Android Studio 3.5 开始,我找不到导出网络活动的接口选项。 这里也一样。我希望我错过了什么:(谢谢你的确认,詹姆斯。 如果您不反对第 3 方解决方案,您可以使用 Charles 代理 (charlesproxy.com) 捕获流量并将其导出为 .chls 文件。我将它用于 ios 开发,因为 XCode 没有网络分析器,但它也适用于 Android。【参考方案3】: “堆转储”采用 Android.hprof
格式。
“原生采样”分配采用.heapprofd
格式,即Perfetto Trace Protocol Buffer。
“系统跟踪记录”格式为.trace
,即Perfetto Trace Protocol Buffer。
“C/C++函数录制”是Simpleperfperf.data
格式。
“Java 方法跟踪记录”位于ART Trace Format。
“Java 方法示例记录”也在ART Trace Format。
【讨论】:
以上是关于导出 android studio profiler 数据的主要内容,如果未能解决你的问题,请参考以下文章