It's important to understand the basic concept of the surface view before using:
- It's basically just a hole in the current window
- Native UI can be placed on top of it
- Drawing is done using a dedicated, non UI thread
- Drawing is not hardware accelerated
- Uses two buffers: One is currently shown, one is used for drawing.
unlockCanvasAndPost() swaps the buffers.
Deadlocks can easily occur if the
unlockCanvasAndPost() methods are not called in the correct order.