【问题标题】:Is there an instruction-oriented profiling tool for Android?是否有适用于 Android 的面向指令的分析工具?
【发布时间】:2011-05-08 04:23:32
【问题描述】:

我需要在我的 Android 的 java 代码中分析几个函数。

我知道traceview。我实际上发现了使用这个工具来调查哪些功能。但它没有提供有助于调查特定功能的信息。

那么,有什么方法可以获取 Android 上 Java 代码的每条指令分析信息?

【问题讨论】:

  • 我不会担心指令级分析。你在做什么需要如此微调?如果它确实需要如此努力地优化,请考虑使用 NDK 用 C++ 编写它。
  • 您很可能需要查看函数的设计,而不是某一行。你是在使用 n^2 算法,还是做了很多不必要的 io?
  • @inazaruk:“但它没有提供有助于调查特定函数内部的信息”——Java 中没有“函数”,所以我假设您指的是方法。如果您的方法太长以至于无法通过桌面检查确定瓶颈在哪里,那么请编写更短的方法。
  • 如果有调试器可用,总有这个方法(stackoverflow.com/questions/375913/…)
  • @Falmarri,在证明有必要之前,我不想投资 C++ 代码。我只是想仔细检查一下函数消耗的时间主要是在计算中,而不是在数组访问中。

标签: java android profiler profiling


【解决方案1】:

我建议您可以尝试在您的 Java 代码中使用“hprof”来将分析的数据转储到文件中,然后您可以分析该文件以获取更多详细信息。

要使用的 API:
dumpHprofData(String fileName)

如果您对更精细级别的分析感兴趣,那么您可以尝试在内核级别工作的“readprofile”。不过,您需要 'busybox' 才能使用它。但是,我想您需要将指令与您的 Java 语句进行映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多