我需要找出我的Android应用程序中的瓶颈所在。
我可以使用哪些分析工具或技术?
发布于 2010-10-06 17:57:29
您可以使用Traceview。它远非理想,但却是可行的。This article介绍了如何使用它。
发布于 2014-05-01 21:32:55
这取决于你要测试什么。
如果你为Android开发应用程序,你应该尝试一下TimingLogger类。看一下描述TimingLogger帮助器类用法的this article。
一个非常好的工具是JMeter,还有一个plugin for Android。
如果您不想使用外部工具,而是一种非常标准的方法来测量运行时间,则必须使用System.nanoTime()。你不应该使用currentTimeMillis,因为它测量的是挂钟时间,因为没有一台计算机的时钟是完美的(它们偶尔都需要修正),有一个进程在运行,并不断地对系统时钟进行微小的修正。更不用说闰秒修正了。
尽管经常使用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/。
你也可以找到JMeter的教程。
发布于 2014-05-06 12:00:58
在http://developer.android.com/training/articles/perf-tips.html中推荐的另一个工具是Caliper:https://code.google.com/p/caliper/。(我没有用过它,所以我对它了解不多。)
https://stackoverflow.com/questions/3871311
复制相似问题