代码之家  ›  专栏  ›  技术社区  ›  teedyay

我该如何分析我的Android应用程序?[关闭]

  •  92
  • teedyay  · 技术社区  · 14 年前

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

    我可以使用哪些分析工具或技术?

    4 回复  |  直到 7 年前
        1
  •  37
  •   cement    12 年前

    您可以使用TraceView。这远非理想,但有效。 This article 描述如何使用它。

        2
  •  18
  •   Shabbir Dhangot    8 年前

    DDMS最适合安卓系统。 默认情况下,它包含在ADT插件中。

    This 带有详细示例的文档应该可以帮助您处理DDM。


    对于内存分析,请尝试Eclipse Mat

        3
  •  11
  •   Gaurav Vachhani    9 年前

    这取决于你要测试什么。

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

    一个很好的工具是 JMeter 还有一个 plugin for Android 也。

    如果您不想使用外部工具,而是一种非常标准的方法来测量经过的时间,则必须使用System.NanoTime()。您不应该使用currentTimeMillis,因为它可以测量墙壁时钟时间Ans,因为没有一台计算机的时钟是完美的(它们偶尔都需要修正),有一个过程在运行,并不断地对系统时钟进行小的修正。更不用说闰秒修正了。

    虽然经常使用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 也。

        4
  •  0
  •   Erhannis    11 年前

    中推荐的另一个工具 http://developer.android.com/training/articles/perf-tips.html 卡尺: https://code.google.com/p/caliper/ . (我没用过,所以我不太了解。)