private void onTick() { synchronized (this) { Canvas canvas = this.lockCanvas(); if (canvas == null) return; canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); mDrawingList.addAll(mDisplayList); Collections.sort(mDrawingList); for (DisplayBase displayBase : mDrawingList) { if (displayBase == null) { continue; } displayBase.draw(canvas); } mDrawingList.clear(); this.unlockCanvasAndPost(canvas); } }