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

如何在 Android 中测试应用程序的性能?Android 提供了什么支持? 我如何使用它?

49779 次浏览

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

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

Debug.startMethodTracing("myapp");

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

Debug.stopMethodTracing();

这将在 SD 卡的根目录中创建一个名为 myapp.trace的跟踪文件。正如写在 SD 卡上的:

  • 如果你使用模拟器,你将需要 添加一个 SD 卡到您的 AVD
  • 你需要给你的应用程序权限写 SD 卡添加以下到您的清单:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

一旦文件已经创建,你需要复制到您的电脑。您可以使用 adb命令执行以下操作:

adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace

最后,启动 traceview,为跟踪文件提供 全路径:

traceview c:/my/dir/myapp.trace

我有一些问题与 traceview失败与 OutOfMemory异常。我在 Windows 上修正了这个问题,将 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 包含了太多的信息,你很容易迷路。

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

之前和之后,并在潜在的中心慢代码。

像二进制搜索,下次,一步一步缩小它,然后最终找到罪魁祸首的代码。

你可以使用负载运行器,

使用这个链接可以找到更多关于它的信息,

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

应采取的步骤如下:

  1. 创建新的 VuGen 脚本
  2. 选择 Mobile Application-HTTP/HTML
  3. 录制选项—— > 选择录制模拟器
  4. 给出将模拟器记录为 D: android AVD Manager.exe 的路径
  5. 在命令行中 - netspeed 全网延迟无 其中 AVD _ Name 是您的设备的名称
  6. 选择工作目录
  7. 点击完成

现在可以进行测试了,

另一种测试方法是使用 负载运行器上的 TruClient

流动网络应采取的步骤如下:

  1. 新的 VuGen 脚本
  2. 移动协议
  3. 选择 TruClientMobileWeb
  4. 单击 Create
  5. 现在您可以生成脚本了
  6. 单击“开发脚本”按钮
  7. 弹出窗口显示选择设备
  8. 选择 Actions,您就可以记录脚本

本地移动应遵循的步骤如下:

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

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