It's important to understand the basic concept of the surface view before using:
unlockCanvasAndPost()
Deadlocks can easily occur if the lockCanvas() and unlockCanvasAndPost() methods are not called in the correct order.
lockCanvas()