我是Android新手。标准的Java内存和性能分析工具可以与Android一起使用吗?适用于Android的内存/性能分析工具
例如,我们可以创建一个堆转储文件并分析Android应用程序吗?或者使用Eclipse TPTP分析内存/性能?
如果不可能为此使用标准的Java工具,那么是否有用于内存和性能分析的Android特定工具?
我是Android新手。标准的Java内存和性能分析工具可以与Android一起使用吗?适用于Android的内存/性能分析工具
例如,我们可以创建一个堆转储文件并分析Android应用程序吗?或者使用Eclipse TPTP分析内存/性能?
如果不可能为此使用标准的Java工具,那么是否有用于内存和性能分析的Android特定工具?
如果您使用Eclipse,DDMS应该可以帮助您完成大部分所需的工作。
DDMS - Tracking memory allocation of objects
DDMS提供了一个功能来跟踪被分配给 存储器对象和以查看哪个类和线程分配 对象。这使您可以实时跟踪在您的应用程序中执行某些操作时分配的对象是 。 此信息对于评估可能会影响应用程序性能的内存使用情况很有用。
为跟踪对象的内存分配:
在设备选项卡,选择您要启用 分配跟踪的过程。在分配跟踪器选项卡中,单击开始跟踪按钮开始分配跟踪。在这一点上, 你在你的应用程序中做的任何事情都将被跟踪。单击获取 分配以查看自从您单击开始追踪按钮上的 以来已分配的对象列表。您可以再次单击获取 分配以追加到已分配 的新对象列表。若要停止跟踪或清除数据并重新开始,请点击停止跟踪按钮 。点击列表中的特定行到 查看更多详细信息,如 分配对象的代码的方法和行号。
市场上有现有的性能曲线工具。
通用专用工具,如SystemPanel app - 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计算机上看到性能,而目标测试应用程序仍然可以在手机/平板电脑上运行前景 - 它不具有破坏性。
直接使用标准Java工具是不可能的。但是,如果我们从Android应用创建Heapdump,并在将其转换为Java SE HPROF格式后,我们可以使用Eclipse内存分析器分析内存。
http://android-developers.blogspot.fr/2011/03/memory-analysis-for-android.html
JProfiler可以阅读Android的直接堆转储,而无需将其转换为JSE格式。
免责声明:我公司开发JProfiler。
此外,如果您进行移动Web开发,您可能会发现Chrome远程调试器很有用。 https://developers.google.com/chrome/mobile/docs/debugging – 2012-07-16 13:08:32
看来我们不能使用标准的Java工具进行内存分析,所以您指出可以使用DDMS。 http://android-developers.blogspot.fr/2011/03/memory-analysis-for-android.html – 18bytes 2012-07-17 05:24:42