我在開發一個OpenGL動態壁紙時出現了一個奇怪的,非常隨機的錯誤。CPU可能被掛住,OpenGL動態壁紙鎖定
我的代碼的結構是OpenGL場景'暫停',然後在用戶進入和退出首選項屏幕時'恢復'。最初它運行得非常好,但是在實現更多功能(從而造成更多開銷)之後,當退出「首選項」屏幕時,動態壁紙偶爾會凍結。 logcat的踢了以下消息(我個人從來沒有遇到過),並且重複消息每秒左右,直到我手動背出壁紙:
W/SharedBufferStack(10715): waitForCondition(LockCondition) timed out (identity=4902, status=0). CPU may be pegged. trying again.
有什麼奇怪的是多麼隨機。有時它不會出現50個「偏好退出」或更多。其他時候更頻繁發生。另一個奇怪的是,如果我在遇到凍結後嘗試重新打開壁紙,logcat將開始踢出相同的消息,並且壁紙加載屏幕掛起大約五秒鐘左右,之後一切恢復正常,沒有更多的錯誤消息。
任何人有任何線索如何解決或繞過這個問題?