这是我在我的应用程序中经常看到的错误。任何人都可以知道,任何想法,这个错误的原因是什么。
错误有两行:
consumer ~ Error -1 pinning ashmem fd 69
' ~ Failed to consume input event. status=-2147483648
我最近在我工作的应用程序中修复了类似的错误。问题在于关闭文件描述符两次的错误本机代码 - 这意味着它首先在 Close 方法中关闭它,然后在析构函数中再次调用 Close 而没有检查文件描述符是否已经关闭。
本机open
函数作为文件描述符返回第一个空闲的最低数字。因此,有时上述错误是关闭描述符,该描述符在一次关闭和第二次调用之间被重用。大多数情况下,这个描述符被包裹使用。
在寻找此错误的解决方案时,我发现此错误发生在两种情况下:
调试这并不容易,很难重现,而且如果您不使用本机代码,则更难理解问题。
如果您没有本机代码,则在尝试与关闭的窗口进行通信时可能会出现此错误。就像您没有关闭某些对话框但关闭了拥有它的活动一样。我从未经历过这种情况,但我将其添加为提示。