android - 如何在 Android 中调试多线程?

标签 android multithreading debugging intellij-idea push-notification

我正在尝试解决一段不熟悉的代码/架构中的问题,我对其中发生的事情只有模糊的认识。

从应用程序后台运行到 onResume(),我基本上一直在所有看到的地方都贴上打印语句。在 onResume() 和我实际看到 ListView 在我的设备上正确更新之间的某个时间,发生了导致 2 秒延迟的事情。我似乎找不到它,因为 onResume() 中的代码似乎都没有对 ListView 进行修改。

有人怀疑 2 秒延迟问题是因为我从通知中重新打开应用程序,而不是定期重新打开应用程序。问题是,通知中有多个线程,我真的不明白它在做什么。

在“调试”方面,有哪些方法可以解决这个问题?就像... Android Studio 是否有办法在任何给定时间点显示我的应用程序中的所有线程?如果是这样,这是我可以理解/收集有用信息的东西吗?

最佳答案

尝试 using TraceView缩小延迟的来源。它显示正在完成的工作以及正在运行的线程。

关于android - 如何在 Android 中调试多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22974798/

相关文章:

multithreading - 基于流/响应式(Reactive)编程中的事务/请求-响应模式

c - atomic.h 中的操作似乎是非原子的

java - 队列以收集线程的输出

delphi - WebBrowser (MSIE) - 使用 IOleCommandTarget 的 Exec 捕获 JS 错误

android - ACTION_HEADSET_PLUG 在 Android 中广播的问题

android - 无需 MediaMuxer 即可将 PCM 转换为 AAC 或 MP4 文件

java - Android - WebView - 滚动到选定的 id

android - 无法在 Android Studio 中下载 Gradle 插件

python - Pycharm 调试器交互式控制台非常慢

直接在 ARM 目标上调试单声道应用程序