/** Request the device to draw */ @SuppressLint("WrongCall") private void updateEngine() { try { startDraw(); synchronized (view.getHolder()) { view.onDraw(c); } } finally { if (c != null) { endDraw(c); } } }
@Override public void run() { while (running) { Canvas c = null; try { c = view.getHolder().lockCanvas(); synchronized (view.getHolder()) { view.onDraw(c); } } finally { if (c != null) { view.getHolder().unlockCanvasAndPost(c); } } } }