3

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

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

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

TLDR:
如何确定导致我的应用运行缓慢的原因?是否有线程监视器或其他东西 - 除了将 Log.d() 贯穿始终之外,还有什么方法可以查看花费了这么长时间的东西吗?

4

2 回答 2

3

查看跟踪视图

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

您也可以查看strictmode,但这更多是为了弄清楚为什么您的应用程序的 UI 没有响应。

于 2012-07-25T01:35:56.767 回答
3

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

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

之前和之后并以潜在的慢代码为中心。

就像二分查找一样,下一次,一步一步缩小,最后找到罪魁祸首。

于 2012-07-25T03:45:00.127 回答