如何在Android中测试应用程序的性能? Android提供的支持是什么?如何使用它?
答案 0 :(得分:96)
如果您想要查看应用程序以查找性能瓶颈,可以use the traceview
tool。这为您提供了应用程序性能跟踪的图形视图。
要创建跟踪,请将以下内容添加到要开始跟踪的代码中:
Debug.startMethodTracing("myapp");
然后在您想要停止跟踪时添加以下内容:
Debug.stopMethodTracing();
这将在SD卡的根目录中创建跟踪文件调用myapp.trace
。因为它被写入SD卡:
您需要通过在Manifest中添加以下内容来授予您应用程序编写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
使用更多内存。
答案 1 :(得分:5)
此外,理论上 ,DDMS可以为您的程序获取内存分配,然后您可以使用分析器分析转储。
DDMS Reference.
我理论上用斜体字理由的原因是我自己还没有尝试做过这样的事情。
答案 2 :(得分:3)
我认为traceView包含太多信息,很容易迷失。
我的解决方案是将系统时间记录在代码中的三个位置。
之前和之后的中心处于主要的慢速代码中。
像二进制搜索一样,下一次,逐步缩小范围,然后最终找到罪魁祸首代码。答案 3 :(得分:0)
你可以使用load runner。,
使用此链接查找有关它的更多信息。
要遵循的步骤是:
现在您可以执行测试。
答案 4 :(得分:0)
另一种测试方法是在Load Runner上使用 TruClient
移动网络应遵循的步骤是:
Native Mobile要遵循的步骤是:
您可以录制脚本并执行测试....