如何跟踪和解决Android App的BLASTBufferQueue Faking releaseBufferCallback?

您所在的位置:网站首页 代码16377 如何跟踪和解决Android App的BLASTBufferQueue Faking releaseBufferCallback?

如何跟踪和解决Android App的BLASTBufferQueue Faking releaseBufferCallback?

2024-05-20 23:51| 来源: 网络整理| 查看: 265

以下是我得到的与此问题相关的一些发现。

1) 什么是 BlastBufferQueue?

我相信这一定会发生在 Android S 及更高版本中,并且在 2022 年 12 月更新之后也会发生。

BlastBufferQueue 是一种消息队列,其中应用程序布局窗口的几何形状发生变化,它将提交给 Android 平台的表面渲染器。多个应用程序发送的缓冲区将被同步。

在 Android S 之前,更改将通过

Transaction 发布。这里的缓冲区在从多个应用程序进程发送时不同步。

这个 BlastBufferQueue 有助于打开从多个应用进程发送的缓冲区之间的连接。

了解更多烧烤的链接:

https://www.jianshu.com/p/50a30fa6952e

https://www.jianshu.com/p/cdc60627df90

这是下面的代码,blastbuffer 从

ViewRootImpl 获得更新。

来源链接

2)日志的根本原因。 我能够找到添加此特定日志的提交。

提交链接

修复了在视图事务更新但缓冲区回调从未释放(在某些情况下)时发生 ANR 的问题。因此,此提交是在

TransactionCompleteCallback 完成时假释放缓冲区回调的解决方法。

在此提交中,已经提到这是一个安全的解决方法。提交中链接的根本问题是私有的。 这是 android 团队添加假释放缓冲区回调的提交更改。这就是您可能会收到此日志的原因。

最后总结一下这个日志可以放心无视

编辑: 我看到有些人因为一些溢出而导致致命的崩溃。我们必须等待 Greg 提出的 issue 的修复。 暂时,日志可以在 Logcat 窗口中静音。请参考问题下的评论。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3