我是Android(以及Java)开发的新手。我认为我做得很好 - 我有一个应用程序读取XML文件,解析到SQLite数据库,从数据库拉出来填充不同的网站部分(可滚动的新闻项目列表)......等。我正在使用AsyncTasks进行导入...等等。
但是 - 我的应用程序第一次加载需要花费(15-25)秒,每次切换部分需要大约10秒(将单个XML文件解析为SQLite数据库,并填充listView)。
与iPhone应用程序相比,切换部分需要2-3秒......
TLDR:
如何确定导致我的应用运行缓慢的原因?是否有线程监视器或其他东西 - 某种方式来查看除了将Log.d()放在其中之外需要花费多长时间?
答案 0 :(得分:3)
结帐traceview。
这是一个非常好的工具,可以让您看到您的应用花费时间到方法级别的位置。我不能在这里的描述中做到公正。点击链接看看。
您还可以查看strictmode,但这更多是为了弄清楚您的应用的用户界面没有响应的原因。
答案 1 :(得分:3)
我认为traceView包含太多信息,很容易迷失。
我的解决方案是将系统时间记录在代码中的三个位置。
之前和之后的中心处于主要的慢速代码中。
像二进制搜索一样,下一次,逐步缩小范围,然后最终找到罪魁祸首代码。