导出 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 数据的主要内容,如果未能解决你的问题,请参考以下文章

android studio profiler崩溃

android studio profiler 华为崩溃

Android Studio Profiler 检查内存

android studio问题-ICCP:Not recognizing known sRGB profile

android studio 导出项目

MAC 下 Android Studio 配置 adb