我想看看在我的 android 应用程序中执行某个方法需要多长时间。我的第一个想法是做这样的事情:
Date date1 = new Date();
doStuff();
Date date2 = new Date();
//compare date difference in ms
但是对于初学者来说,日期对象似乎没有.getMilliseconds()
,这就是我所追求的。有没有更简单和/或更好的方法来解决这个问题?
谢谢
我想看看在我的 android 应用程序中执行某个方法需要多长时间。我的第一个想法是做这样的事情:
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