有没有办法找出哪种方法花费最多的时间? Eclipse Java

时间:2014-05-01 09:29:09

标签: java android eclipse adt timing

我正在编写一个针对Android的小Javagame,并且想知道Eclipse中是否有可能找出哪个方法需要花费最多的时间来执行。

1 个答案:

答案 0 :(得分:1)

这取决于您要测试的内容。

如果您为Android开发应用程序,您应该尝试使用TimingLogger类。看一下this article,描述TimingLogger助手类的用法。

一个非常好的工具JMeter,还有一个plugin for Android

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

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

我将向您展示一个例子:

long startTime = System.nanoTime();

// run/call the method

long endTime = System.nanoTime();
long diff = lEndTime - lStartTime;
System.out.println("Elapsed milliseconds: " + difference/1000000);

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