override fun surfaceCreated(holder: SurfaceHolder) { doAnimate = true GlobalScope.launch { while (doAnimate && isAttachedToWindow) { synchronized(holder) { val canvas = holder.lockCanvas() canvas?.let { drawAnimate.draw(it) holder.unlockCanvasAndPost(it) } } } } }