@Override public void run() { Canvas c = null; while (_run) { c = null; try { c = _surfaceHolder.lockCanvas(); synchronized (_surfaceHolder) { _panel.onDraw(c); } } finally { if (c != null) _surfaceHolder.unlockCanvasAndPost(c); } } }