我怎样才能分析我的Android应用程序?

我需要find我的Android应用程序的瓶颈。

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

你可以使用Traceview。 这远非理想,而是工作。 本文介绍如何使用它。

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

这个具有详细例子的文档应该可以帮助你处理DDMS。


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

这取决于你要testing什么。

如果您为Android开发应用程序,则应该尝试使用TimingLogger类。 看看这篇描述TimingLogger助手类用法的文章 。

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

如果您不想使用外部工具,而是使用非常标准的方法来测量已用时间,则必须使用System.nanoTime()。 你不应该使用currentTimeMillis,因为它测量的是挂钟时间ans,因为没有电脑的时钟是完美的(它们都偶尔需要纠正),有一个运行的过程,并不断发出对系统时钟的小的更正。 更不用说闰秒修正了。

尽pipe经常使用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); 

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

你也可以findJMeter的教程。

http://developer.android.com/training/articles/perf-tips.html中推荐的另一个工具是Caliper:; https : //code.google.com/p/caliper/ 。 (我没有用过,所以我不太了解。)