这是我经常在我的application.Can中看到的错误,有没有人知道这个错误的原因。
错误有两行:
consumer ~ Error -1 pinning ashmem fd 69
' ~ Failed to consume input event. status=-2147483648发布于 2014-05-15 19:09:38
我最近修复了我工作的应用程序中的类似错误。问题出在有buggy的本机代码中,它关闭了两次文件描述符,这意味着它首先在Close方法中关闭它,然后在析构函数中再次调用Close,而没有检查文件描述符是否已经关闭。
本机open函数以文件描述符的形式返回,这是第一个空闲的最小数字。因此,上面的bug是关闭描述符,它在一次关闭和第二次调用之间被重用。大多数情况下,parcel使用了这个描述符。
在搜索此bug的解决方案时,我发现此错误发生在两种情况下:
当打开的文件描述符太多时发生泄漏,这可能表明当代码两次关闭文件描述符时存在泄漏
调试这并不容易,很难重现,而且如果你不使用本机代码,那么就更难理解问题了。
如果没有本机代码,则在尝试与已关闭window通信时可能会出现此错误。就像你没有关闭一些对话框,但关闭了拥有它的活动。我从来没有经历过这样的情况,但是,我将其添加为一个提示。
https://stackoverflow.com/questions/11949609
复制相似问题