代码优化;测量代码段之间的时间

时间:2012-07-03 22:15:39

标签: java time-measurement

我想知道某个方法在我的Android应用程序中执行需要多长时间。我的第一个想法是做这样的事情:

Date date1 = new Date();

doStuff();

Date date2 = new Date();

//compare date difference in ms

但是对于初学者来说,日期对象似乎没有.getMilliseconds(),这就是我所追求的。有没有更简单和/或更好的方法来解决这个问题?

由于

3 个答案:

答案 0 :(得分:3)

您可能希望使用System.nanoTime()来计算时间,因为它使用可用的最高精度计时器。测试代码效率时要做的另一件事是不仅要运行一次,而是重复运行,并将平均时间作为估算。从长远来看,这会带来更好的结果,因为如果其他程序也试图运行,CPU使用率可能会飙升。

答案 1 :(得分:0)

System.currentTimeMillis()有什么问题?

long before = System.currentTimeMillis();
doStuff();
long after = System.currentTimeMillis();

答案 2 :(得分:0)

您可以使用Android分析工具,当应用程序在模拟器中运行时,它可以在漂亮的图形视图中执行此类操作。

此处有更多信息:http://developer.android.com/tools/debugging/debugging-tracing.html