Estou lutando para entender o processo de desenho SurfaceView
e, portanto, todo o sistema Surface
/ Canvas
/ Bitmap
, que é usado no Android.
Eu li todos os artigos e páginas de documentação da API, que consegui encontrar no site de desenvolvedores do Android, alguns tutoriais de gráficos do Android, código-fonte do LunarLander e esta questão .
Diga-me quais dessas afirmações são verdadeiras, quais não são e por quê.
Canvas
tem seu próprioBitmap
anexo a ele.Surface
tem seu próprioCanvas
anexo a ele.- Todas
View
as janelas compartilham o mesmoSurface
e, portanto, compartilham o mesmoCanvas
. SurfaceView
é uma subclasse deView
, que, ao contrárioView
das subclasses de outras e deView
si mesma, tem seus próprios elementosSurface
para se inserir.
Há também uma pergunta adicional:
- Por que há necessidade de uma
Surface
classe, se já existe umCanvas
para operações de alto nível com bitmap. Dê um exemplo de uma situação em queCanvas
não seja adequado para fazer o trabalho queSurface
pode fazer.