测试不同代码的性能

时间:2014-04-02 15:57:51

标签: java android benchmarking

通常在我创作的时候,我对如何去做有很多不同的想法。任何时候我不确定哪个更好,而不是每次都在这里发帖,我想自己测试一下。我可以使用哪些方法来测试Android中的速度/性能/内存使用情况等?

1 个答案:

答案 0 :(得分:0)

虽然我个人对它们没什么经验,但Android文档提供的Performance Tips提到了两个用于检查基准的潜在有用的程序。

粗略地看一眼,似乎Traceview对于测试单个方法以及应用程序的广泛范围非常有用。

根据文档,创建跟踪,检索跟踪并处理它可以按如下方式完成:

首先,找到您要测试性能的位置。这是一个快速的样本:

public void doSomething() {
    //maybe a long process that needs optimizing
}

protected void onCreate(Bundle savedInstanceState) {
   // set up stuff

   Debug.startMethodTracing("myfilename");
   doSomething();
   Debug.stopMethodTracing();
}

其次,从Android设备中检索文件(注意,您需要写入权限来创建此文件,因此请务必将其添加到清单中)。这可以使用Android Debug Bridge(位于<Android SDK Home>/platform-tools)完成。打开命令shell并运行以下命令

<Android SDK home>/platform-tools/adb pull /sdcard/myfilename.trace <Desired Location>

最后,您可以使用Traceview和另一个命令调用来处理输出。 Traceview位于<Android SDK Home>/tools目录中,因此调用如下所示:

<Android SDK Home>/tools/traceview <Desired Location>/myfilename

请注意,根据您的操作系统,您可能需要使用反斜杠切换正斜杠。这是文档(上面引用的)中概述的过程的大致轮廓,所以我建议在尝试实现之前阅读它。