如何测试Android应用程序的性能?


Answers:


97

如果要分析应用程序以发现性能瓶颈,可以使用该traceview工具。这为您提供了应用程序性能跟踪的图形视图。

要创建跟踪,请将以下内容添加到要开始跟踪的代码中:

Debug.startMethodTracing("myapp");

然后在要停止跟踪时放以下内容:

Debug.stopMethodTracing();

这将myapp.trace在SD卡的根目录中创建跟踪文件调用。写入SD卡时:

  • 如果您使用的是模拟器,则需要将SD卡添加到AVD中
  • 您需要通过向清单中添加以下内容来授予您应用程序写入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。我在Windows上通过更改traceview.batfrom的最后一行来解决此问题:

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使用更多的内存。


有什么方法可以获取信息,例如响应性,启动延迟,应用程序使用的CPU周期
Bharat Pawar 2010年

1
我想知道你们是将TraceView单独用于UI性能基准测试,还是真正实现了自动化(例如与Robotium测试框架(robotium.org)结合使用)。在这方面是否有“最佳做法”?
Mathias Conradt

您可以实时查看跟踪,而无需复制文件吗?
2012年

myapp.trace的大小为0。为什么?
CooL i3oY 2012年



3

我认为traceView包含太多信息,您很容易迷路。

我的解决方案是将系统时间记录在代码中的三个位置。

前后集中在潜在的慢速代码上。

像二进制搜索一样,下次将其逐步缩小,然后最终找到罪魁祸首。


0

测试的另一种方法是在Load Runner上使用TruClient

移动Web要遵循的步骤是:

  1. 新的VuGen脚本
  2. 行动通讯协定
  3. 选择TruClient移动网站
  4. 点击创建
  5. 现在您可以生成脚本
  6. 单击开发脚本按钮
  7. 显示弹出窗口以选择设备
  8. 选择操作,然后可以记录脚本

Native Mobile遵循的步骤是:

  1. 新的VuGen脚本
  2. 行动通讯协定
  3. 选择TruClient本机移动
  4. 点击创建
  5. 现在您可以生成脚本
  6. 点击开发脚本
  7. 出现Firefox插入的TruClient窗口
  8. 单击常规设置
  9. 配置服务器URL端口
  10. 如果您不知道服务器的URL端口,则意味着在设备上安装OS MONITOR应用程序。在这里您可以找到IP地址
  11. 输入用户名和密码
  12. 点击完成

您可以记录脚本并执行测试...。


0

您可以使用负载转轮。,

使用此链接可找到更多有关此的信息。

http://www.perftesting.co.uk/recording-and-performance-testing-android-applications-with-hp-loadrunner-vugen/2011/11/14/

要遵循的步骤是:

  1. 创建新的VuGen脚本
  2. 选择移动应用程序-HTTP / HTML
  3. 记录选项->选择记录模拟器
  4. 将记录模拟器的路径指定为D:\ android \ AVD Manager.exe
  5. 在命令行中-avd AVD_NAME -netspeed full -netdelay none其中AVD_Name是设备的名称
  6. 选择工作目录
  7. 点击完成

现在您可以执行测试了。,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.