09-19 17:38:41.269: WARN/SharedBufferStack(126): waitForCondition(LockCondition) timed out (identity=58, status=0). CPU may be pegged. trying again.
09-19 17:38:41.569: WARN/SharedBufferStack(259): waitForCondition(LockCondition) timed out (identity=4, status=0). CPU may be pegged. trying again.
看到有人说是线程死锁引起的。还有人遇到过类似问题吗?请问大家是怎么解决的呢?

解决方案 »

  1.   

    是SufaceView使用过程中的问题吧?
    SharedBufferStack 是负责“画图”的 Client 和 负责“更新显示内容”的Server 共同持有的一个缓冲区。
    当任何一方使用获取或更新缓冲区内容时,都会锁定 SharedBufferStack 。
    因此,在更新 SufaceView 的时候,应该首先Canvas.lock();锁定SharedBufferStack ,更新完了之后,应该要解锁:Canvas.unlock();
    你看一下这个过程是否存在问题。