java - 如何查明导致 Android 应用程序变慢的原因

标签 java android performance

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

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

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

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

最佳答案

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

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

以潜在的慢速代码为中心。

像二分查找一样,下次逐步缩小范围,最终找到罪魁祸首。

关于java - 如何查明导致 Android 应用程序变慢的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641490/

相关文章:

java - 如何调整尾随空格?

java - EditText setError 不显示默认错误图标

android - 什么是 SystemServer for Android?

android - 以最小延迟播放实时音频流

php - 你能推荐 PHP 性能分析工具吗?

java - Spring ClassPathXmlApplicationContext 不断刷新

java - 如何检查@Async调用在Spring中完成?

java - 使用 Java 代理和 byte-buddy 测量执行时间

javascript - 将 HTML 标签转义为 HTML 实体的最快方法?

python - 提高掩蔽性能,然后加权平均