private void quitUpdateThread() { if (mThread != null) { synchronized (drawTask) { drawTask.notifyAll(); } mThread.quit(); try { mThread.join(); } catch (InterruptedException e) { e.printStackTrace(); } mThread = null; } }
private void notifyRendering() { if (!mInWaitingState) { return; } if (drawTask != null) { drawTask.requestClear(); } if (mUpdateInNewThread) { synchronized (this) { mDrawTimes.clear(); } synchronized (drawTask) { drawTask.notifyAll(); } } else { mDrawTimes.clear(); removeMessages(UPDATE); sendEmptyMessage(UPDATE); } mInWaitingState = false; }