SurfaceView 与 TextureView

Hola a todos, el siguiente introducirá SurfaceView y TextureView.

1, SurfaceView

SurfaceView heredado de Vista, y proporcionar una superficie de capa de dibujo separada, la superficie tiene su propia WindowState correspondiente en el WMS, tendrán su propia capa en San Francisco. SurfaceView puede controlar totalmente, por ejemplo, ajustar su tamaño, puede ser embebido SurfaceView vista de árbol, hacer notar que, al final Server (WMS y SF), y su huésped superficie ventana separada. La ventaja es que esta superficie de representación en hilos separados pueden hacerlo, puede tener su propio contexto GL en la representación. Este aplicaciones relacionadas con el rendimiento de algunos juegos, vídeo y otra de gran utilidad, ya que no afecta el hilo principal en respuesta a eventos. Pero también tiene inconvenientes, porque no es en superficie Ver jerarquía, que es también no muestra la vista Propiedades de control no se puede realizar la transición, rotación, escala de una transformación, no se puede colocar en otra ViewGroup, operación transparencia alfa no puede ser realizado.

2, SurfaceView doble búfer

mecanismo de búfer doble: puede ser entendido como: SurfaceView utiliza cuando una vista actualizada de los dos de la lona, ​​un frontCanvas y un backCanvas, cada vez que la pantalla real es frontCanvas, almacenamiento backCanvas es la última vista antes del cambio, cuando lockCanvas ( ) consiguiendo el lienzo, lo que resulta en backCanvas hecho de ser mostrados en lugar frontCanvas, y luego dibujar un nuevo punto de vista sobre los backCanvas adquiridos, a continuación, unlockCanvasAndPost (lienzo) este punto de vista, a continuación, subir este lienzo sustituirá a los originales como frontCanvas los nuevos frontCanvas, frontCanvas originales pasarán a segundo plano como backCanvas. Por ejemplo, si usted ha dibujado dos veces a la vista de A y B, a continuación, a continuación, llama lockCanvas () para obtener la vista, se obtendrá B A en lugar de ser visualizado después de subir a fin de volver a dibujar decir C, entonces C se sustituyente B como una nueva frontCanvas muestran en SurfaceView, B se convierte en el backCanvas originales.

3, ventajas y desventajas SurfaceView

Ventajas: se puede pintar en un hilo separado, que no afecta el hilo principal. mecanismo de amortiguación doble, pantalla de vídeo de reproducción más suave.

Desventaja: Superficie Ver jerarquía no, y tampoco se mostrará no se puede realizar la transición, rotación, escala de una transformación de la vista Propiedades de control, no se puede colocar en otra ViewGroup, el cálculo de la transparencia alfa no se puede hacer, no puede ser SurfaceView anidada utilizar.

 

4, TextureView

Ver TextureView como hereditaria, se puede proyectar directamente en el torrente Ver el contenido puede ser utilizado para implementar características como la vista previa en vivo. Y SurfaceView diferente, no crea una ventana separada en el WMS, sino como una visión general jerarquía de vista, y por lo tanto se puede mover como otras común visualizar, rotar, hacer zoom, animación y otros cambios. Es de destacar que TextureView debe acelerarse en la ventana de hardware . Se muestra la corriente de datos de contenido se puede derivar de proceso o proceso remoto App. Clase puede verse en la figura, hereda TextureView de la vista, que al igual que otros jerarquía Vista de administración Ver aspirado.

TextureView diseñado para renderizar escenas OpenGL vídeo o datos tales como, pero TextureView ventana sólo se puede utilizar con la aceleración de hardware, si se utiliza software de renderización, TextureView será nada. Eso no es para dispositivos GPU, TextureView completamente disponible.

5, ventajas y desventajas TextureView

Ventajas: soportes mover, rotar, escalar animación, imágenes de apoyo

Contras: debe ser utilizado en la ventana acelerado por hardware, ocupan memoria de SurfaceView, dictada en 5.0 antes de que el hilo principal, el 5.0 tiene un hilo de representación separada.

6, SurfaceView en comparación con TextureView

proyecto SurfaceView TextureView
huella de la memoria bajo alto
En tiempo real oportuno Un retraso de alrededor
poder bajo alto
la manipulación de imágenes No es compatible apoyo

 

Por último, damos la bienvenida al intercambio de aprender juntos: Carta de micro: liaosy666; QQ: 2209115372  .

 

 

Publicado 17 artículos originales · ganado elogios 27 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/u010281924/article/details/105293357
Recomendado
Clasificación