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



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

Date date1 = new Date();
doStuff();
Date date2 = new Date();
//compare date difference in ms

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

谢谢

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

System.currentTimeMillis()有什么问题?

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

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

更多信息在这里: http://developer.android.com/tools/debugging/debugging-tracing.html

最新更新