如何配置我的Android应用程序?[关闭]


93

我需要找到Android应用程序中的瓶颈所在。

我可以使用哪些配置文件工具或技术?


我对Android不熟悉。您可以在可以中断的调试器下运行该应用程序吗?如果是的话,这种方法可行:stackoverflow.com/questions/375913/...
麦克Dunlavey

嗯,有趣。劳动强度大,但对于发现更明显的性能问题可能很有用。谢谢。
teedyay

我明白你怎么会这样想:stackoverflow.com/questions/2624667/...
麦克Dunlavey

如今,您可以在Eclipse中进行出色的性能分析。忘记独立/手动启动TraceView等。我希望撰写有关此内容的博客文章,并提供更多详细信息。如果需要更多详细信息,请联系我。
2013年

2
您建议有比TraceView或DDMS更好的东西。它是什么?
佩里·哈特曼

Answers:


37

您可以使用Traceview。它远非理想,但可行。 本文介绍了如何使用它。


2
当我运行它时,它说命令行版本已被弃用,然后退出。有什么新方法?
gonzobrains


11

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

如果您为Android开发应用程序,则应尝试TimingLogger类。看一下这篇文章,介绍TimingLogger帮助器类的用法。

JMeter是一个非常好的工具,并且还有一个适用于Android插件

如果您不想使用外部工具,而是一种非常标准的方式来测量经过时间,则必须使用System.nanoTime()。您不应该使用currentTimeMillis,因为它可以测量挂钟时间ans,因为没有一台计算机的时钟是完美的(有时需要校正所有时钟),因此有一个进程在运行并不断对系统时钟进行小的校正。更不用说the秒校正了。

尽管经常使用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的教程。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.