适用于Android的内存/性能分析工具

时间:2012-07-16 13:00:41

标签: java android performance memory profiling

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

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

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

4 个答案:

答案 0 :(得分:6)

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

DDMS - Tracking memory allocation of objects

  

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

     

跟踪对象的内存分配:

     

在“设备”选项卡中,选择要启用的进程   分配跟踪。在“分配跟踪器”选项卡中,单击   启动跟踪按钮以开始分配跟踪。在此刻,   您将在应用程序中执行的任何操作都将被跟踪。单击获取   分配以查看自之后分配的对象列表   您单击了“开始跟踪”按钮。您可以单击获取   再次分配以向列表追加具有的新对象   被分配了。要停止跟踪或清除数据并重新开始,   单击“停止跟踪”按钮。单击列表中的特定行   查看更详细的信息,如方法和行号   分配对象的代码。

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

市场上现有的性能配置文件工具。

通用工具,例如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计算机上看到性能,而目标测试应用程序仍然可以在您的手机/平板电脑上运行前景 - 它是无中断的。

答案 3 :(得分:0)

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

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