【发布时间】:2009-12-24 06:59:20
【问题描述】:
如何在 Android 中测试应用程序的性能? Android 中提供了哪些支持以及如何使用它?
【问题讨论】:
标签: android performance testing
如何在 Android 中测试应用程序的性能? Android 中提供了哪些支持以及如何使用它?
【问题讨论】:
标签: android performance testing
如果您想分析您的应用程序以查找性能瓶颈,您可以use the traceview tool。这为您提供了应用程序性能跟踪的图形视图。
要创建跟踪,请将以下内容添加到要开始跟踪的代码中:
Debug.startMethodTracing("myapp");
然后当你想停止追踪时输入以下内容:
Debug.stopMethodTracing();
这将在 SD 卡的根目录中创建一个调用 myapp.trace 的跟踪文件。写入 SD 卡时:
您需要通过将以下内容添加到您的清单中来授予您应用写入 SD 卡的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
创建文件后,您需要将其复制到您的 PC 上。您可以使用adb 命令执行此操作:
adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace
最后,启动traceview,为其提供跟踪文件的完整路径:
traceview c:/my/dir/myapp.trace
我确实遇到了traceview 失败并出现OutOfMemory 异常的一些问题。我通过将traceview.bat 的最后一行更改为:
call java -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*
到:
call java -Xmx1g -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*
添加-Xmx1g 选项允许traceview 使用更多内存。
【讨论】:
另外,理论上,DDMS 可以为您的程序获取内存分配,然后您可以使用分析器分析转储。
DDMS Reference.
我理论上用斜体的原因是我自己还没有尝试过这样做。
【讨论】:
我觉得traceView包含的信息太多,很容易迷路。
我的解决方案是在代码中的三个位置记录系统时间。
在潜在的慢代码之前、之后和中心。
像二分查找一样,下一次,一步一步缩小,最后找到罪魁祸首。
【讨论】:
另一种测试方法是在 Load Runner 上使用 TruClient
移动网络要遵循的步骤是:
原生移动要遵循的步骤是:
您可以录制脚本并执行测试....
【讨论】:
你可以使用负载运行器。,
使用此链接了解更多信息。
要遵循的步骤是:
现在您可以执行测试了。
【讨论】: