如何确定什么减慢了Android应用程序的速度

时间:2012-07-25 01:32:27

标签: java android performance

我是Android(以及Java)开发的新手。我认为我做得很好 - 我有一个应用程序读取XML文件,解析到SQLite数据库,从数据库拉出来填充不同的网站部分(可滚动的新闻项目列表)......等。我正在使用AsyncTasks进行导入...等等。

但是 - 我的应用程序第一次加载需要花费(15-25)秒,每次切换部分需要大约10秒(将单个XML文件解析为SQLite数据库,并填充listView)。

与iPhone应用程序相比,切换部分需要2-3秒......

TLDR:
如何确定导致我的应用运行缓慢的原因?是否有线程监视器或其他东西 - 某种方式来查看除了将Log.d()放在其中之外需要花费多长时间?

2 个答案:

答案 0 :(得分:3)

结帐traceview

这是一个非常好的工具,可以让您看到您的应用花费时间到方法级别的位置。我不能在这里的描述中做到公正。点击链接看看。

您还可以查看strictmode,但这更多是为了弄清楚您的应用的用户界面没有响应的原因。

答案 1 :(得分:3)

我认为traceView包含太多信息,很容易迷失。

我的解决方案是将系统时间记录在代码中的三个位置。

之前和之后的中心处于主要的慢速代码中。

像二进制搜索一样,下一次,逐步缩小范围,然后最终找到罪魁祸首代码。