Acho curiosa a recomendação de SurfaceView versus View comum. Enquanto que a SurfaceView oferece mais controle sobre quando desenhar, ela também acarreta muito mais trabalho e causa muito mais problemas do que usar uma View comum - sem grandes vantagens, já que ela não é acelerada por hardware.
Até o Android 2.x, SurfaceView ainda fazia bastante sentido (eu mesmo lancei vários jogos usando ela) - hoje, nem encosto (com excessão da GLSurfaceView, que ainda uso).
Que motivos alguém teria hoje para usa-la?