如何testingAndroid应用程序的性能?
我如何testingAndroid应用程序的性能? Android提供的支持是什么,我该如何使用它?
如果你想分析你的应用程序来查找性能瓶颈,你可以使用traceview
工具 。 这为您提供了应用程序性能跟踪的graphics视图。
要创build跟踪,请将以下代码添加到要开始跟踪的代码中:
Debug.startMethodTracing("myapp");
然后当你想停止跟踪时,放置以下内容:
Debug.stopMethodTracing();
这将在SD卡的根目录中创build一个跟踪文件调用myapp.trace
。 正如它被写入SD卡:
- 如果您使用模拟器,则需要将SD卡添加到AVD 。
-
您需要通过将以下内容添加到您的清单中来为您提供应用程序写入SD卡的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
文件创build完成后,您需要将其复制到PC上。 您可以使用adb
命令执行此操作:
adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace
最后,启动traceview
, traceview
提供跟踪文件的完整path :
traceview c:/my/dir/myapp.trace
我确实遇到了traceview
失败和OutOfMemory
exception的问题。 我通过将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参考。
我在理论上用斜体表示的原因是我自己还没有尝试过这样做。
我觉得traceView包含了太多的信息,你很容易迷路。
我的解决scheme只是在代码中的三个地方login系统时间。
之前和之后,在大家慢的代码中心。
像二进制search,下一步,逐步缩小,最后find罪魁祸首的代码。
你可以使用负载运行。
使用这个链接find更多的邻接它。
要遵循的步骤是:
- 创build新的VuGen脚本
- select移动应用程序-HTTP / HTML
- 录制选项 – >select录制模拟器
- logging模拟器的path为D:\ android \ AVD Manager.exe
- 在命令行-avd AVD_NAME -netspeed full -netdelay none其中AVD_Name是你的名字Device
- select工作目录
- 点击完成
现在你可以执行你的testing了。
另一种testing方法是在Load Runner上使用TruClient
移动网站要遵循的步骤是:
- 新的VuGen脚本
- 移动协议
- selectTruClient Mobile Web
- 点击创build
- 现在你可以生成脚本
- 点击发展脚本button
- 出现PoP向上窗口select设备
- select操作,您可以logging脚本
本地移动应遵循的步骤是:
- 新的VuGen脚本
- 移动协议
- selectTruClient原生移动
- 点击创build
- 现在你可以生成脚本
- 点击开发脚本
- 出现用Firefox插入的TruClient窗口
- 点击常规设置
- configurationSERVER URL PORT
- 如果你不知道服务器URL端口意味着在你的设备上安装OS MONITOR应用程序。 在这里你可以findIP地址
- input用户名和密码
- 点击完成
你可以logging脚本并执行你的testing….