0
@Override
public void run()
{
Canvas canvas = null; // used for drawing {
while (threadIsRunning)
{
try
{
canvas = surfaceHolder.lockCanvas(null); // line 1
synchronized(surfaceHolder) // line 2
{ //do something .....
}
}
}
}
據許多崗位和博客lockCanvas
將在畫布上的鎖,這樣帆布多址是不可能的,是用來synchronized block
以便在畫布上沒有其他線程 平局..lockCanvas和同步的Android
問題是,如果其他線程通過強制等待來阻止通過鎖定畫布創建畫布。 那麼什麼是需要同步塊爲,隨着受阻
此方法的文檔從不談論線程。 lockCanvas()只能防止SurfaceView改變或破壞SurfaceHolder。 –