¿Cómo se puede hacer esto? ¿Podría alguien darme un bosquejo?Doble búfer en Java en Android con canvas y surfaceview
Por lo que he encontrado en Internet, parece que en mi run() función:
- crear un mapa de bits
- crear un lienzo y adjuntarlo al mapa de bits
- lockCanvas()
- sorteo de llamadas (lienzo) y dibujar mapas de bits en la memoria tampón posterior (cómo ??)
- unlockCanvasAndPost()
¿Es esto correcto? Si es así, ¿podría obtener una pequeña explicación? ¿Qué significan estos pasos y cómo los implemento? Nunca he programado para Android antes, así que soy un verdadero novato. Y si no es correcto, ¿cómo lo hago?
No lo entiendo del todo. Entonces, dibujo todo lo que necesito entre bloquear y desbloquear y ... ¿el doble buffer ocurre por sí mismo? ¿No necesito también dibujar ANTES de bloquear? Lo siento, necesito que esto se explique de la manera más básica posible ... – Kalina
@TheBeatlemaniac: cuando estás dibujando en un 'Lienzo' después de que se ha llamado a 'candadoCanvas()', en realidad estás dibujando cosas en el * siguiente * fotograma, mientras se visualiza el fotograma * actual *. Una llamada 'unlockCanvasAndPost()' cambiará el siguiente búfer de cuadros con el búfer de cuadros actual para mostrar un 'Canvas' actualizado. – Wroclai
La parte de mapa de bits es útil si desea acercarse/alejarse y mover su "espacio de trabajo". – TheRealChx101