1

我正在我的应用程序中调查来自 Google 控制台的ANR报告,并且我经常发现HeapTaskDaemon线程处于以下状态之一:

  • 被封锁
  • WaitingForCheckPointsToRun
  • 等待任务处理器
  • WaitingForGcToComplete

例子: 例子

除了在Android 文档中明确引用的 Blocked 之外,我发现关于这些状态的文档很少(实际上 Google 几乎没有WaitingForCheckPointsToRun的结果)。WaitingForGcToComplete的名字看起来很直观,但如果有经验丰富的意见,我们将不胜感激。

你知道它们是什么意思吗?他们之间有什么区别?官方文档也将不胜感激,我找不到它。

对于上下文:在这些报告中,没有迹象表明主线程以某种方式被阻塞(看起来很好),所以我猜测问题可能是由内存泄漏 + 垃圾收集器努力运行产生的 ANR。通过强制我的应用程序中的内存堆已满,我设法重现了类似的线程转储,但是我希望对这些堆栈跟踪有更多的了解,以确保我走在正确的轨道上。

4

0 回答 0