CPU可能被占满,OpenGL动态壁纸会锁死。

3
我正在开发一个OpenGL动态壁纸,但遇到了一个奇怪而随机的错误。
我的代码结构是这样的:当用户进入和退出首选项屏幕时,OpenGL场景会“暂停”然后“恢复”。最初它运行得非常好,但在实现更多功能(从而创建更多开销)之后,动态壁纸有时会在退出首选项屏幕时冻结。Logcat会输出以下消息(我个人以前从未遇到过),并且每秒钟重复一次,直到我手动退出壁纸:
W/SharedBufferStack(10715): waitForCondition(LockCondition) timed out (identity=4902, status=0). CPU may be pegged. trying again.

奇怪的是它很随机。有时候会出现50个或更多的“偏好退出”,其他时候则更频繁地发生。另一个奇怪之处是,如果我在经历冻结后尝试重新打开壁纸,logcat将开始输出相同的消息,并且壁纸加载屏幕会停留约五秒钟左右,之后一切恢复正常,不再出现任何错误消息。

有人知道如何解决或绕过这个问题吗?

1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接