如何配置我的Android应用?

tee*_*yay 93 java performance android profiling

我需要找到Android应用中瓶颈的位置.

我可以使用哪些分析工具或技术?

cem*_*ent 37

您可以使用Traceview.它远非理想,但有效. 本文介绍如何使用它.

  • 当我运行它时,它表示命令行版本已弃用,然后退出.什么是新方法? (2认同)

小智 18

DDMS是Android的最佳选择.默认情况下,它包含在ADT插件中.

这个带有详细示例的文档应该可以帮助您处理DDMS.


对于内存分析,请尝试Eclipse MAT

  • 有关DDMS的Android文档:http://developer.android.com/tools/debugging/ddms.html (4认同)

Dav*_*vid 11

这取决于你要测试什么.

如果您为Android开发应用程序,您应该尝试TimingLogger类.看一下本文描述TimingLogger助手类的用法.

一个非常好的工具是JMeter,还有一个Android插件.

如果您不想使用外部工具,但以非常标准的方式来测量经过的时间,则必须使用System.nanoTime().你不应该使用currentTimeMillis,因为它测量的是挂钟时间,因为没有计算机的时钟是完美的(它们偶尔都需要纠正),这个过程会运行并不断对系统时钟进行小的修正.更不用说闰秒修正了.

虽然经常使用currentTimeMillis,但测量经过的时间和时间仍然是不正确的.无论如何,由于调用需要一些时间,你不应该期望正确地计时非常小的间隔.但这不应该是使用Android的问题.

我会告诉你一个例子:

long startTime = System.nanoTime();

// run/call the method

long endTime = System.nanoTime();
long diff = endTime - startTime ;
System.out.println("Elapsed milliseconds: " + diff /1000000);
Run Code Online (Sandbox Code Playgroud)

你也可以看看这个免费的图书馆:http://jetm.void.fm/.

您也可以找到JMeter的教程.