【问题标题】:Memory/Performance analysis tools for Android [closed]适用于 Android 的内存/性能分析工具 [关闭]
【发布时间】:2012-07-15 08:01:05
【问题描述】:

我是 Android 新手。 Android 可以使用标准的 Java 内存和性能分析工具吗?

例如我们可以创建一个 heapdump 文件并分析 Android 应用程序吗?还是使用 Eclipse TPTP 来分析内存/性能?

如果无法为此目的使用标准 Java 工具,那么是否有任何 Android 专用工具用于内存和性能分析?

【问题讨论】:

    标签: java android performance memory profiling


    【解决方案1】:

    如果您使用 Eclipse,DDMS 应该可以帮助您完成大部分所需的工作。

    DDMS - Tracking memory allocation of objects

    DDMS 提供了一项功能来跟踪正在分配给的对象 内存并查看哪些类和线程正在分配 对象。这使您可以实时跟踪对象的位置 当您在应用程序中执行某些操作时分配。 此信息对于评估内存使用情况很有价值 影响应用程序性能。

    跟踪对象的内存分配:

    在“设备”选项卡中,选择您要启用的进程 分配跟踪。在分配跟踪器选项卡中,单击 开始跟踪按钮开始分配跟踪。在此刻, 您在应用程序中所做的任何事情都会被跟踪。点击获取 Allocations 查看自那时以来已分配的对象列表 您单击了“开始跟踪”按钮。你可以点击获取 再次分配以追加到列表中的新对象 被分配。要停止跟踪或清除数据并重新开始, 单击停止跟踪按钮。单击列表中的特定行以 查看更详细的信息,例如方法和行号 分配对象的代码。

    【讨论】:

    【解决方案2】:

    JProfiler 可以直接读取 Android 堆转储,无需将其转换为 JSE 格式。

    免责声明:我公司开发 JProfiler。

    【讨论】:

      【解决方案3】:

      市场上有现有的性能分析工具。

      通用工具,例如 SystemPanel 应用程序 - https://play.google.com/store/apps/details?id=nextapp.systempanel.r1&hl=en。它列出了CPU、内存和网络等性能。

      专业工具,例如 TaskSpy - https://play.google.com/store/apps/details?id=com.skstudio.tooldelux。它列出了系统范围的性能,并使您能够分析一个特定的运行进程。它真正有用的是它使您能够 从远程 PC/mac/linux 计算机上查看性能,而目标测试应用程序仍然可以在您的手机/平板电脑上运行前台 - 它是无中断的。

      【讨论】:

        【解决方案4】:

        无法直接使用标准 Java 工具。但是,如果我们从 Android 应用创建 Heapdump,并将其转换为 Java SE HPROF 格式后,我们可以使用 Eclipse 内存分析器来分析内存。

        http://android-developers.blogspot.fr/2011/03/memory-analysis-for-android.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-20
          • 1970-01-01
          • 2011-09-25
          • 1970-01-01
          • 2010-09-13
          • 2011-05-19
          • 1970-01-01
          • 2010-09-22
          相关资源
          最近更新 更多