eclipse使用教程
解决Android应用程序性能问题的最佳方法是通过跟踪执行来分析应用程序。 这样,您可以根据实际数据来决定要改进的内容,并检测应用程序中的瓶颈。 在Android SDK中,Debug对象处理配置文件,TraceView实用程序用于查看生成的跟踪文件。 我将描述如何使用Eclipse Android SDK插件中包含的工具进行概要分析,但是您也可以使用traceview命令。
请记住,.trace文件可能会变得很大,因此请注意仅跟踪应用程序中有问题的部分。 如果您不知道要概要分析的内容,则可以在第一时间进行大量跟踪,然后再深入到特定部分。 另外,在跟踪方法时执行速度会变慢,因此您只应将跟踪的执行时间与另一个跟踪的时间进行比较。
从代码分析
通过对代码进行性能分析,您可以分析已经怀疑有问题的部分。 要从代码进行剖析:
- 将调用添加到要在其中启动和停止分析的Debug类方法。 要开始使用任何方法进行性能分析,请添加以下方法调用:
Debug.startMethodTracing("logname");
要停止分析,请添加以下调用:
Debug.stopMethodTracing();
这些调用不必使用相同的方法,但是请确保将达到stopMethodTracing 。 另外,您的应用程序必须具有写入SD卡的权限,否则您将获得异常无法打开跟踪文件“ /sdcard/logcat.trace”:权限被拒绝。
- 启动应用程序并执行有问题的操作以对其进行跟踪。 分析开始和停止时,Logcat输出中会显示一条消息,并且将在设备文件系统的根目录中创建一个logname.trace文件。
- 导航到设备SD卡的根目录,然后将.trace文件复制到桌面。 使用eclipse打开.trace文件,它将显示在跟踪工具中。 请参阅下面的分析.trace文件部分以检查结果。
从Eclipse剖析
在调试过程中进行性能分析可以使您查明在执行过程中随机出现的问题,或者不确定导致问题的代码行。
- 在DDMS透视图中,单击“启动方法分析”按钮。
- 再按一次相同的按钮( Stop Method Profiling )停止分析。 结果将立即显示在Eclipse中。
分析.trace文件
打开.trace文件时,显示以下窗口:
在顶部,每个线程都有自己的时间轴。 在此应用程序中,只有一个主线程,其他线程是系统线程。 我认为,最有趣的列是:
- Incl CPU%:此方法使用的总CPU时间的百分比,包括所有子方法的执行时间。
- 包括CPU时间:此方法使用的CPU时间(以毫秒为单位),包括所有子方法的执行时间。
- 调用+ RecurCall /总计:父方法对子方法的调用次数(以及递归调用)/整个.trace文件对方法的总调用次数。
您可以展开任何方法以查看子方法并进行分析。 在这种情况下,对generateRandomNumber方法进行细化显示,子方法saveRandomNumber占据了大部分执行时间。 实际上,如果您查看“呼叫”列,则可以看到它被调用了1000000次。 该方法在测试中被多次调用,但是对于真实的分析案例,这是您要注意的地方:可以减少调用次数,或者可以优化方法的执行。
翻译自: https://www.javacodegeeks.com/2014/06/using-android-traceview-in-eclipse.html
eclipse使用教程