Android 安卓工作室:“;框架不可用";?

Android 安卓工作室:“;框架不可用";?,android,android-studio,android-debug,Android,Android Studio,Android Debug,我正在与谷歌的安卓电视Leanback库合作,我试图找出如何最好地收听遥控器上的按钮(尤其是那些未被MediaSession捕获的按钮) 因此,我在BaseGridView.dispatchTouchEvent()中有一个断点,当我按下其中一个远程按钮时,调试器确实会跳到该点,并向我显示通常的调试信息 但是,几(2-5)秒后,调试信息消失,并被消息“Frame is not available”(帧不可用)取代。 在其他地方,调试器工作正常,所以我想知道调试器引起的延迟是否被计算为ANR,因此应

我正在与谷歌的安卓电视Leanback库合作,我试图找出如何最好地收听遥控器上的按钮(尤其是那些未被
MediaSession
捕获的按钮)

因此,我在
BaseGridView.dispatchTouchEvent()
中有一个断点,当我按下其中一个远程按钮时,调试器确实会跳到该点,并向我显示通常的调试信息

但是,几(2-5)秒后,调试信息消失,并被消息“Frame is not available”(帧不可用)取代。

在其他地方,调试器工作正常,所以我想知道调试器引起的延迟是否被计算为ANR,因此应用程序被强制关闭

在任何情况下,有没有办法解决这个问题?

消息“frames not available”(帧不可用)意味着没有更多的帧可用于调试。 android studio帮助明确说明框架窗口的用途以及其中的框架:

框架窗格使您能够访问应用程序的线程列表、导出到文本文件以及自定义线程表示。对于每个线程,可以在编辑器中查看堆栈帧、检查帧、在帧之间导航以及自动跳转到帧的源代码。您可以通过窗格顶部的线程选择器下拉列表选择线程。线程的状态和类型由一个特殊图标和线程名称旁边的文本注释指示

因此,现在没有可用的帧意味着所有帧都将关闭以进行调试。可能是由于应用程序被强制关闭或在该行出现任何不当行为。试着调试语句,然后就可以摆脱这种行为。
希望对您有所帮助。

出现此消息是因为您设置了太多断点,而线程正在等待来自其他线程的数据,若要解决此问题,您可以取消一些断点并等待数据准备就绪…

有相同的问题,请按我的要求重新启动。

当您收到消息“frames not available”(帧不可用)时这意味着没有更多的帧可用于调试。这些框架是AndroidStudio调试的一部分,它允许您访问应用程序中运行的线程列表。这是在调试窗口中看到的一长串进程。所以现在的情况是,Android Studio在您设置断点之前就失去了对线程的了解。在您的情况下可能会发生这种情况,因为默认情况下,当您设置断点时,它会停止所有线程的执行。当你退出时,随后的线程依赖于之前的线程来工作,这就是关闭应用程序的原因。由于您是在getCurrentDetails上设置断点,因此我最好的假设是它没有及时从OKHttp获得响应,因为它发生在后台线程中。你可以尝试两种方法来让它工作。首先,尝试右键单击断点,并将断点从暂停所有线程更改为仅暂停该线程。这应该允许OKHttp在被切断之前及时获得响应。或者,将断点向下移动一点,看看它是否有效。

文件-->使缓存无效/重新启动修复了我遇到的问题。

是否找到了解决方案。我在我的机器上面对相同的代码,而在其他机器上工作相同的代码(帧不会消失)。不,恐怕不会。。。但我不知道错误与机器有关-我以为它只是与代码的某些方面有关…我在不同线程中设置断点,在等待响应时,您的提示解决了我的问题